Android Wear: Sensoren messen und Umgebungsmodus / Schlaf verhindern

Ich habe eine App für Android Wear erstellt, mit der die Bewegungssensoren (Beschleunigungsmesser) für etwa eine Stunde zur Datenerfassung kontinuierlich gemessen werden müssen. Während des Betriebs hatte ich Probleme damit, dass das Gerät in den Umgebungsmodus (oder in den Ruhezustand) ging und die Sensoren verlangsamte (oder ausschaltete). Daher verwende ich den folgenden Befehl, um den Bildschirm zu sperren, und es scheint zu funktionieren. Aber es scheint auch verschwenderisch zu sein, da ich den Bildschirm eigentlich nicht brauche, nur die Sensoren laufen.

getWindow (). clearFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // Erlaube schlafen zu gehen

Aktuell habe ich die onSensorsChanged () -Methode in der Hauptaktivität. Ich bin bereit, es in einen Dienst zu stellen, aber von dem, was ich verstehe, wird das nicht helfen, wenn es noch im Haupt-UI-Thread ist. Ich könnte es in einen eigenen Thread stellen, bin mir aber nicht sicher, ob dadurch der Umgebungsmodus aktiviert wird, wenn die Sensoren verlangsamt werden. Fragen: 1) Gibt es eine Möglichkeit, den Umgebungsmodus zu verhindern? Oder wenn festgestellt wird, dass es ausgeschaltet werden soll? 2) Wenn sich die Sensoren in einem eigenen Dienst / Thread befinden, kann ich die Aktivität in den Ruhezustand versetzen und trotzdem die Sensorsammlung mit voller Geschwindigkeit aufrechterhalten? 3) Wenn sich die Sensoren in einem eigenen Dienst / Thread befinden, kann ich trotzdem Daten über die dataapi an das Telefon senden? Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage