2016-05-27 21 views
0

Ich arbeite an einer App, die GCM für Push-Benachrichtigungen verwendet.GCM - App von Benachrichtigung öffnen?

Meine Frage bezieht sich darauf, wie man die App öffnet/startet, wenn der Benutzer auf die Benachrichtigung klickt. Ich habe zwei mögliche Szenarien:

A) Die App ist offen und ist entweder im Vordergrund oder Hintergrund, entweder meine GCM funktioniert gut, die GCM-Nachricht kommt Benutzer taps Benachrichtigung und Absicht startet relevante Aktivität (über die Benachrichtigung übergeben ausstehende Absicht).

B) Die App ist geschlossen und Benachrichtigung erhalten, der Benutzer tippt erneut auf die Benachrichtigung und die Absicht versucht, die entsprechende Aktivität zu starten, und hier wird es unordentlich. Die App hat ein Backend und muss sich jetzt automatisch anmelden/authentifizieren, wenn ich versuche, dieselbe Aktivität zu starten, sind die Anmeldeinformationen usw. veraltet oder existieren nicht, daher stürzt die App ab. Ich muss die App in diesem Fall von Grund auf neu starten, anstatt einfach die bestimmte Aktivität über die ausstehende Absicht zu starten.

Meine Frage ist daher, wie ich dem GCM-Listener sagen, um zu überprüfen, ob die App läuft und wenn ja, einfach starten Aktivität und wenn nicht (App ist geschlossen) starten App wie üblich?

danke.

Antwort

0

Ok löste dies, nicht sicher, ob es der beste Weg ist, scheint aber ohne Problem zu funktionieren.

Was ich getan habe, war eine statische boolesche Variable in Launcher-Aktivität erstellen. Dies wird auf "true" gesetzt, wenn die App startet und der GCM-Listener bei eingehenden GCM-Notifikationen auf diesen Variablenstatus testet (wird immer für die Lebensdauer der App-Instanz gelten), wenn "true" direkt zur Aktivität "apple" (App geschlossen oder veraltet) gestartet wird.

Dies scheint gut zu funktionieren von dem, was ich sehen kann, immer noch interessiert an einer besseren Methode, wie dies scheint hackish?

Verwandte Themen