2016-03-31 6 views

Antwort

0

Denken Sie zunächst daran, dass Sie möglicherweise keine Aktivität haben. Android hat möglicherweise Ihren Prozess beendet (z. B. hat der Benutzer HOME gedrückt und die Zeit abgelaufen), und Ihr neu erstellter Prozess hat möglicherweise nur Ihren GCM-Handling-Service.

aber sagen, dass können Sie ein Ereignis Bus benutzen:

  • LocalBroadcastManager
  • EventBus des greenrobot
  • Platz Otto
  • usw.

Haben Sie den Service Post ein Ereignis auf der Bus. Lassen Sie Ihre Aktivität einrichten, um die Veranstaltung zu erhalten. Wenn der Dienst das Ereignis veröffentlicht und das Ereignis nicht behandelt wird, weiß der Dienst, dass die Benutzeroberfläche nicht verfügbar ist und möglicherweise etwas anderes mit der Nachricht ausführen kann (z. B. eine Notification auslösen, die Nachricht zur späteren Verwendung in einer Datenbank speichern).

Verwandte Themen