Ich habe die Google GCM Installationsanleitung gefolgt von Beispiel auf Github , um eine App zu erstellen Das empfängt Benachrichtigungen.
Wenn es funktioniert:
Das Telefon, das nicht funktioniert:
Dieses Telefon funktioniert gut, es kann WhatsApp Nachrichten oder jede andere Art empfangen, selbst wenn der Benutzer die App tötet.
Ich fürchte, das könnte bei vielen anderen Geräten passieren, die ich nicht getestet habe. Ich möchte also etwas Code zeigen, um zu sehen, ob es irgendwelche Probleme gibt.
Hier mein AndroidManifest.xml
:
Diese Abhängigkeit wurde in der Projektebene build.gradle
:
Diese Abhängigkeit wurde in der App-Ebene build.gradle
:
Und die Java-Klassen sind identisch mit den Github Beispiel .
Warum funktioniert dieses Gerät nicht, wenn der Benutzer die App schließt, aber es funktioniert in allen anderen Geräten, die ich getestet habe?
Es ist ein "Bug / Feature" von Huawei Geräten.
Android - GCM - Keine Push-Benachrichtigungen im Hintergrund erhalten
Sobald Sie Anwendung auf Xiaomi töten, huawei diese Telefone Registrierung Broadcast-Empfänger, Dienste der Anwendung.
Im Falle einer Benachrichtigung wird Ihr GCM-Broadcast-Empfänger beim Abmelden von & gt; app nicht registriert, was wahrscheinlich der Grund dafür ist.
Der Benutzer muss Ihre App zu einer Whitelist im Batteriemanager hinzufügen
Getestet auf Huawei Gra-L09 mit Android 5.0.1
EDITED:
Sie können den Benutzer warnen und Protected Apps Manager starten.
"Geschützte Apps" Einstellung auf Huawei Telefone und wie man damit umgeht
Jetzt ein paar Tage, Xiaomi und LeEcho und einige neue benutzerdefinierte OS für Sicherheitszwecke deaktiviert die Benachrichtigung für jede Anwendung. Befolgen Sie diese Schritte, um Nachrichten im Hintergrund zu empfangen, sobald sie die App mit Cleaner beenden.
Settings -> Permissions (Just add your app here and done).
Tags und Links android google-cloud-messaging