Как выключить экран через определенный промежуток времени?

#android #keyguard #android-powermanager

#Android #keyguard #android-powermanager

Вопрос:

Чтобы разблокировать экран в моем сервисе, я использовал disableKeyguard метод в KeyguardManager .

 KeyguardManager.KeyguardLock  kl = keyguardManager.newKeyguardLock("MyKeyguardLock");
kl.disableKeyguard();
  

Тем не менее, это также удаляет автоматический переход в спящий режим / выключает мой экран. Я хочу сохранить эту опцию. Это означает, что экран будет включен с помощью приведенного выше кода, затем, если пользователь ничего не нажимает на экран, он автоматически выключится через определенный промежуток времени. Я знаю способ повторного включения KeyguardManager как kl.reenableKeyguard(); , но он должен куда-то вызываться. Большое вам спасибо

Комментарии:

1. Как насчет использования CountDownTimer ? Запуск таймера при запуске пользователем приложения. И сбрасывайте таймер каждый раз, когда пользователь прикасается к приложению. Но по прошествии некоторого времени пользователь не прикасается к приложению, повторно включите клавиатуру.

2. Это хороший метод, но мы не знаем настройки пользователя. Например, кто-то выключил экран через 30 секунд, 10 секунд… Это также зависит от пользовательских настроек