Pracuję nad aplikacją pod numerem Android Wear. Wysłuchuje współrzędne z czujnika przyspieszenia i odnajduje wzór.Czujnik przyspieszeniomierza powoduje straty w usłudze
W tym celu, gdy użytkownik kliknie przycisk, usługa rozpoczyna się i rozpoczyna zapisywanie współrzędnych na liście. Zwykle czujnik przyspieszenia rejestruje 4 do 5 współrzędnych na sekundę.
Problem polega czasem na tym, że metoda onSensorChanged() nie odbiera danych przez kilka sekund, powodując utratę danych i problemy z odnalezieniem wzorca.
Oto sedno moich usług: https://gist.github.com/cpalosrejano/8f0e59e47124275136fc3d5d941faa07
Czego próbowałem:
- Używam android: stopWithTask = false aby zapobiec usługę, aby zatrzymać kiedy umiera aktywność.
- Używam również urządzenia typu WakeLock, aby zapobiec przechodzeniu urządzenia w stan uśpienia podczas rejestrowania współrzędnych.
Co robię źle? Czy istnieje inny sposób odbierania wywołań zwrotnych z czujnika przyspieszenia bez powodowania utraty danych?
Z góry dziękuję.
Czy próbowałeś użyć innej stałej 'SensorManager.SENSOR_DELAY_ *'? Jakiś wpływ na problem? – String