Sto sviluppando un'applicazione per Android Wear. Ascolta le coordinate di un sensore dell'accelerometro e trova uno schema.Il sensore dell'accelerometro causa perdite durante un servizio
Per fare ciò, quando l'utente fa clic su un pulsante, il servizio inizia e inizia a memorizzare le coordinate in un elenco. Di solito, il sensore dell'accelerometro registra da 4 a 5 coordinate al secondo.
Il problema è che a volte il metodo onSensorChanged() non riceve dati per diversi secondi causando perdite di dati e problemi nel trovare un modello.
Ecco un succo del mio servizio: https://gist.github.com/cpalosrejano/8f0e59e47124275136fc3d5d941faa07
Le cose che ho provato:
- Sto usando Android: stopWithTask = false per evitare il servizio di fermarsi quando l'attività muore.
- Ho anche utilizzato un dispositivo WakeLock per impedire che il dispositivo entri in modalità di sospensione mentre i servizi stanno registrando le coordinate.
Cosa sto sbagliando? Esiste un altro modo per ricevere le richiamate dal sensore dell'accelerometro senza causare perdita di dati?
Grazie in anticipo.
Hai provato a utilizzare un diverso 'SensorManager.SENSOR_DELAY_ *' costante? Qualche effetto sul problema? – String