Я хочу выяснить, как обнаружить, когда телефон просыпается от ведущего дело с прибылью экранного режима, и запишите обработчик для того события. Это возможно? Кажется, что это было бы чем-то, что Бытовой радиоприемник должен обработать? Или есть ли лучший или более надлежащий путь?
Вы правы на приемнике трансляции. Вы можете слушать широковещательные события SCREEN_ON и SCREEN_OFF.
Если у вас есть активная Служба, вы можете отслеживать эти события с помощью
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// do something
}
}, new IntentFilter(Intent.ACTION_SCREEN_ON));
. Однако это зависит от наличия постоянно работающей службы, которая, как я недавно узнал, является не рекомендуется, потому что он хрупкий (ОС любит их закрывать) и постоянно использует ресурсы.
К сожалению, похоже, что в вашем манифесте невозможно использовать приемник, который перехватывает события SCREEN_ON.
Совсем недавно возникла такая проблема:
android.intent.action.SCREEN_ON не работает как фильтр намерений приемника
также
Android - как получать намерения широковещания ACTION_SCREEN_ON / OFF?