Wie kann Android Wear im Ruhezustand aktiviert werden?

8

Wenn Android Wear in den Energiesparmodus wechselt (Bildschirm abgeblendet), werden einige Teile meines Codes nicht ausgeführt. Ich verwende Timer im Hintergrunddienst, um einige Aktionen auszulösen, z. B. das Senden von Daten von Verschleiß an mobile Geräte, aber die Daten werden nicht gesendet. Es wird gesendet, wenn ich auf den Bildschirm tippe, um ihn aufzuwecken.

Ich versuche auch, Timer zu verwenden, um eine Benachrichtigung mit Vibration auszulösen, wenn der Bildschirm ausgeschaltet ist, aber es erscheint nicht, bis ich auf den Bildschirm tippe.

Im Debug-Modus (entweder Bluetooth oder USB) funktioniert der Datenversand und die Benachrichtigung einwandfrei.

Ich vermute, dass dies der Fall ist, wenn Android Wear sich im Sleep-Modus befindet, seine CPU arbeitet auf minimalem Level, weil der Timer noch läuft, aber nicht für GoogleApiClient, IntentService oder Notification.

Ich habe viele Möglichkeiten ausprobiert, um die CPU aufzuladen, wie AlarmManager, PowerManager, Wakelock, aber es hat nicht für Android Wear funktioniert.

Jeder ist auf dieses Problem gestoßen? Was ist die Lösung?

    
taingmeng 17.09.2014, 09:30
quelle

2 Antworten

3

Ich verwende PowerManger , um mein tragbares Gerät jedes Mal neu zu aktivieren, wenn ich eine Nachricht von einem verwalteten Gerät erhalte. Vergiss nicht, PowerManager.WakeLock

freizugeben %Vor%

Und erlaube WAKE_UP Erlaubnis in deinem Manifest.

%Vor%     
Nasc 08.10.2014 16:14
quelle
1

Sie sollten AlarmManager zusammen mit WakefulBroadcastReceiver und startWakefulService () verwenden. Sehen Sie sich diese Arbeitslösung an.
Möglicherweise finden Sie Antworten für Ihre weiteren Fragen in der Chat-Geschichte zu diesem Beitrag hier . Dies ist die einzige Lösung, die für unsere App funktioniert.

@SeaDog führt mit dieser Lösung erfolgreich HTTP-Anrufe aus, wenn sich das Gerät im Deep-Sleep-Modus befindet. Probieren Sie es aus.

    
cgr 27.11.2015 08:32
quelle