Альтернатива PowerManager.FULL_WAKE_LOCK
По приходу пуша показываю нотификацию, при этом надо включить на пару секунд экран.
Использую в сервисе следующий код:
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
if(!pm.isScreenOn())
{
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE
, "MyLock");
wl.acquire(5000);
}
Проблема в том, что PowerManager.FULL_WAKE_LOCK
помечен как deprecated, и советуют использовать WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
. Вот так:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Но как я могу получить доступ к окну из сервиса? Тем более, что девайс спит.
Существует ли альтернатива FULL_WAKE_LOCK
?
Источник: Stack Overflow на русском