Ich entwickle eine Anwendung für Android Wear. Er überwacht Koordinaten von einem Beschleunigungssensor und findet ein Muster.Beschleunigungssensor verursachen Verluste in einem Dienst
Um dies zu tun, wenn der Benutzer auf eine Schaltfläche klickt, beginnt der Dienst und beginnt, Koordinaten in einer Liste zu speichern. Üblicherweise zeichnet der Beschleunigungssensor 4 bis 5 Koordinaten pro Sekunde auf.
Das Problem ist, dass die onSensorChanged() -Methode manchmal Daten während einiger Sekunden nicht empfängt, was zu Datenverlusten und Problemen beim Suchen eines Musters führt.
ist hier ein Kern meines Service: https://gist.github.com/cpalosrejano/8f0e59e47124275136fc3d5d941faa07
Dinge, die ich versucht habe:
- I android bin mit: stopWithTask = false den Dienst zu verhindern zu stoppen, wenn die Aktivität stirbt.
- Ich habe auch eine WakeLock verwendet, um zu verhindern, dass das Gerät schlafen gehen, während die Dienste Koordinaten aufzeichnen.
Was mache ich falsch? Gibt es eine andere Möglichkeit, Callbacks vom Beschleunigungssensor zu empfangen, ohne Datenverlust zu verursachen?
Vielen Dank im Voraus.
Haben Sie versucht, eine andere 'SensorManager.SENSOR_DELAY_ *' Konstante zu verwenden? Irgendwelche Auswirkungen auf das Problem? – String