Android Deep Sleep und Wake Locks

Ich habe eine Android-App erstellt, die auf allen Handys einwandfrei funktioniert. Bei meinem Alcatel-Telefon funktioniert dies jedoch nicht, da das Telefon in einen Tiefschlafmodus wechselt und das Datennetzwerk ausfällt, sodass die App kein Datennetzwerk erhält und die Daten vom Server nicht synchronisiert.

Mein Design ...

SystemBootReceiver ->(DataSyncService)Service ->(MyBroadcastReceiver)BroadcastReceiver ->(MyDataService)Service .

Also starte ich hier beim SystemstartDataSyncService wo ich die aufstelleAlarmManager (wiederholt) und die anrufenMyBroadcastRecever. Nach dem Aufruf derBroadcastRecever ich halte anDataSyncService telefonischstopself() .

Jetzt dieMyBroadcastRecever ruft dieMyDataService.

Ich bin auf WakeLocks gestoßen, die wie gesagt verhindern, dass das Telefon in den Tiefschlafmodus wechselt. Also habe ich es drinnen implementiertMyDataService onCreate() Methode

PowerManager pm = (PowerManager) 
                    getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
mWakeLock.acquire();

Undrelease() die Wecksperre vor dem Beenden des Dienstes.

Ich habe auch die Erlaubnis in Android Manifest gesetzt.

Aber das hat nicht funktioniert. Also für einen kurzen Check habe ich verwendetWAKE LOCK App vom Markt.

Aber das hat das Telefon auch nicht aufgeweckt. Wieder bin ich auf die App WAKE MY ANDROID (App aus dem Store entfernt) vom Markt gestoßen und habe sie installiert. Und hier ist ein Zauber passiert.

Es hielt das Telefon am Leben.

Wie die Beschreibung in dieser App besagt, haben sie auch eineWake Lock. Was vermisse ich dann?

Gibt es einen Implementierungsfehler oder ein Designproblem?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage