2010-07-12 8 views
10

ich eine App habe, wo ich wünsche die Aktivität (List Aktivität um genau zu sein) zu aktualisieren nur, wenn die Aktivität von Service im Vordergrund (Aktiv) isterfrischend, wenn Aktive

I ListActivity Intent verwenden aber das Problem ist, dass dies Aktivität hervorbringt, selbst wenn es im Hintergrund ist.

Ich dachte auch über die Verwendung von RegisterDataSetObserver auf ListAdapter, aber das erfordert, dass der Cursor aktualisiert werden sollte. Die Aktualisierung des Cursors von einem externen Dienst ist möglicherweise nicht möglich.

Haben wir eine generische Lösung?

Antwort

20

Haben wir eine generische Lösung für diese ?

Wahrscheinlich ein Dutzend von ihnen. Hier sind ein paar:

  • Haben die Aktivität ein Listener-Objekt mit dem Dienst in onResume() registrieren und entfernen Sie sie in onPause()
  • schicken privaten Rundfunk, nahm durch die Aktivität über registerReceiver(), wenn es im Vordergrund
  • Haben die Aktivität ein „pending Ergebnis“ -Stil PendingIntent zum Service
  • Verwenden Sie einen ResultReceiver
  • Verwenden Sie ein ContentProvider, mit der Holding auf eineliefernvom Provider, und der Service Aktualisierung der Provider

This set of projects zeigt die ersten drei, im Rahmen der Remote-Dienste.

+0

Dank. Ich habe gerade Ihre zweite Option verwendet und es hat super funktioniert. –

0

Die beste Lösung ist eine zentrale Stelle. Ich halte dies für die beste Lösung. Check this out:

click here