GCM-Push-Benachrichtigungen funktionieren nicht, wenn die App auf einigen Geräten geschlossen ist

9

Ich habe die Google GCM Installationsanleitung gefolgt von Beispiel auf Github , um eine App zu erstellen Das empfängt Benachrichtigungen.

Wenn es funktioniert:

  • App geöffnet (alle Geräte)
  • App im Hintergrund (alle Geräte)
  • App geschlossen (alle außer einem)

Das Telefon, das nicht funktioniert:

  • Huawei P8 lite
  • Android 5.1
  • Google Play Services 8.3.01

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 :

%Vor%

Diese Abhängigkeit wurde in der Projektebene build.gradle :

hinzugefügt %Vor%

Diese Abhängigkeit wurde in der App-Ebene build.gradle :

hinzugefügt %Vor%

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?

    
marc_aragones 13.11.2015, 16:26
quelle

2 Antworten

1

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

    
quelle
0

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).

    
Naveen Kumawat 15.04.2017 08:38
quelle