Разработвам приложение за Android Wear. Той слуша координати от сензор за акселерометър и намира модел.
За да направите това, когато потребителят щракне върху бутон, услугата се стартира и започва да съхранява координати в списък. Обикновено сензорът на акселерометъра регистрира 4 до 5 координати в секунда.
Проблемът понякога е, че методът onSensorChanged() не получава данни в продължение на няколко секунди, което води до загуба на данни и проблеми при намирането на модел.
Ето същността на моята услуга: https://gist.github.com/cpalosrejano/8f0e59e47124275136fc3d5d7941faa0 >
Неща, които съм пробвал:
- Използвам android:stopWithTask=false, за да попреча на услугата да спре, когато дейността умре.
- Също така използвах WakeLock, за да предотвратя заспиването на устройството, докато услугите записват координати.
какво правя грешно Има ли друг начин да получавате обратни повиквания от сензора на акселерометъра, без да причинявате загуба на данни?
Благодаря предварително.
SensorManager.SENSOR_DELAY_*
? Има ли ефект върху проблема? - person String   schedule 03.04.2016