У меня есть продолжительная служба прослушивания для входа датчика.Чтобы сохранить заряд батареи, я остановил выборку датчиков на ACTION_SCREEN_OFF и снова запустил ее снова на ACTION_SCREEN_ON.
Однако часто я просто включаю телефон, чтобы быстро взглянуть на часы на экране блокировки (чтобы проверить текущее время), а затем снова выключаю его, не разблокируя телефон.В этом случае нет никакой причины раскручивать датчики только для того, чтобы сразу же выключить и снова отключить.
Поэтому я попытался заменить ACTION_SCREEN_ON на ACTION_USER_PRESENT в моем приемнике вещания.Это работало нормально, за исключением одного особого случая: когда экран гаснет и я сразу нажимаю кнопку питания (или кнопку домой), экран блокировки пропускается.И тогда ACTION_USER_PRESENT никогда не принимается, только ACTION_SCREEN_ON.
Есть ли способ для моего широковещательного приемника после получения ACTION_SCREEN_ON узнать, активна ли блокировка экрана и ожидать ACTION_USER_PRESENT позже?Или, если экран блокировки пропущен, не ждать ACTION_USER_PRESENT и продолжить и сразу же перезапустить семплирование?