Фоновая служба на Android oreo, когда устройство активно - PullRequest
0 голосов
/ 13 октября 2018

Я использую службу, которая должна считывать данные гироскопа, когда устройство активно , тестировать на 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));

Цените любыепредложения.

...