Hat eine GCM-App wirklich ein Wakelock?

Ich bin mir nicht ganz sicher, wie man diese Sätze in der GCM Client Dokumentation interpretiert:

Die android.permission.WAKE_LOCK-Berechtigung, damit die Anwendung den Prozessor nicht mehr schlafen kann, wenn eine Nachricht empfangen wird. Optionale Verwendung nur, wenn die App das Gerät vom Schlafen halten möchte.

  • Android Theme.AppCompat.Light mit Dark Toolbar (für leichten Text)
  • Was sind die Schritte, um von Bluetooth Low Energy (BLE) Gerät benachrichtigt zu werden?
  • SetX (), setTranslationX (), setY () und setTranslationY ()
  • Beste Weg, um Daten mit einem RecyclerView Adapter zu aktualisieren
  • Wie man reCAPTCHA 2.0 in Android integriert
  • Gebäude mit Cordova für Android schafft falschen Versionscode
  • .

    Wenn Sie während des Übergangs der Arbeit nicht zu einer Dienstleistung führen, können Sie das Gerät dann wieder einschlafen lassen, bevor die Arbeit abgeschlossen ist. Das Ergebnis ist, dass die App die Bearbeitung der GCM-Nachricht nicht beenden kann, bis ein beliebiger Punkt in der Zukunft, was nicht das ist.

    und

    Mit WakefulBroadcastReceiver ist keine Voraussetzung. Wenn Sie eine relativ einfache App haben, die keinen Service benötigt, können Sie die GCM-Nachricht in einem regulären BroadcastReceiver abfangen und dort Ihre Bearbeitung durchführen.

    Ich bin mir nicht ganz sicher, ob meine App ein Wakelock halten muss oder nicht (oder wenn es einen Service erfordert). Der Push-Benachrichtigungsteil ist für die App sehr wichtig und sollte nicht mehr als ein paar Minuten verzögert werden. Gibt es eine Chance, dass der BroadcastReceiver gesperrt wird, bevor er alle Daten erhält?

  • Mehrere Benachrichtigungen mit einem Statusleisten-Symbol in Android
  • Formular-Validierungsbibliothek für Android?
  • Holen Sie sich Dateinamen aus einem Verzeichnis in Android
  • Android Studio macht kein WebP-Format
  • Wie kann ich das Bild in einen TextView-Text hinzufügen?
  • Mögliche Marktprobleme bei der Erhöhung von minSdkVersion
  • One Solution collect form web for “Hat eine GCM-App wirklich ein Wakelock?”

    Gibt es eine Chance, dass der BroadcastReceiver gesperrt wird, bevor er alle Daten erhält?

    Nein. Sie erhalten keine Kontrolle, bis die gesamte 4K-oder-weniger-Nutzlast heruntergeladen wurde und Ihnen zur Verfügung steht.

    Allerdings wird onReceive() auf dem Hauptanwendungs-Thread aufgerufen, und wenn also Ihre Arbeit mehr als eine Millisekunde oder so dauert, sollten Sie WakefulBroadcastReceiver und einen IntentService für diese Arbeit verwenden. Oder, wenn Sie es vorziehen, verwenden Sie meinen WakefulIntentService und einen regelmäßigen BroadcastReceiver .

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.