Итак, я использовал службу переднего плана, диспетчер питания и блокировку пробуждения, чтобы мое устройство не спало, пока пользователь не отключил его вручную. Я поместил эту службу в ящик уведомлений, поэтому в уведомлении есть кнопка, которая позволит пользователям отключить ее по своему усмотрению. С тех пор, как я обновлял прошивку на своем Galaxy Note 10+, я замечал, что следующий код больше не работает. Есть предложения по новому методу сделать это?
public void powerManagerKeepOn() {
pm = (PowerManager) getSystemService(POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "Power Manager::MyWakeLockTag");
wl.acquire();
}
Я пытался изменить это на wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"Power Manager::MyWakeLockTag");
, но это не сработало, как FULL_WAKE_LOCK.
Я также пробовал этот код on the onCreate ... getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Это работает, только если приложение открыто. Я хочу, чтобы служба оставила экран устройства включенным, даже когда приложение закрыто. Спасибо!