У меня запланирован будильник. Используя WakeLock.acquire()
и KeyguardLock.disableKeyguard()
, я могу разбудить экран и показать свою активность. Тем не менее, я бы предпочел просто показать диалог. Встроенная сигнализация на моих устройствах HTC и Samsung действует таким образом. Я ожидал найти метод для объекта KeyguardLock, но я не увидел ничего в документах, которые привели бы меня в этом направлении. Как я могу оставить KeyguardLock включенным, но показать свой диалог на нем, как это делают встроенные сигналы тревоги. Вот мой текущий код, который работает в onCreate()
KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
keyguardLock = km.newKeyguardLock(KeyguardLockTag);
keyguardLock.disableKeyguard();
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
int flags = PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP;
wakeLock = pm.newWakeLock(flags, WakeLockTag);
wakeLock.acquire();