Я использую службу, которая должна считывать данные гироскопа, когда устройство активно , тестировать на Android 8 Oreo .
Проблема - это то, что я получаю показания датчика только в течение короткого периода времени, затем показания прекращаются, и фоновый процесс прекращает регистрировать любые данные - я полагаю, что это связано с оптимизацией батареи, возможно, в режиме ожидания.
Меня интересуют только данные, когда устройство активно, поэтому мой фоновый процесс не должен быть активным, когда устройство не используется.
Я пытался прослушивать "устройство активно«Ориентировочные действия , но безуспешно - они не отправляются, как только пользователь активен , и это именно то, что меня интересует.
// those actions are not broadcasted as expected.
registerReceiver(mybroadcast, new IntentFilter(Intent.ACTION_USER_PRESENT));
registerReceiver(mybroadcast, new IntentFilter(Intent.ACTION_SCREEN_ON));
// this action is not helpful because it's only related to device
// getting in/out of idle mode, but not "active"
registerReceiver(mybroadcast, new IntentFilter(Intent.ACTION_DEVICE_IDLE_MODE_CHANGED));
Цените любыепредложения.