У меня установлен будильник. Используя 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();
Вы нашли решение? – Behzad
@Behzad Я не делал этого так, как описано, но оглядываясь назад (эта тема старше года), вы можете настроить свою деятельность как диалог, чтобы достичь того же результата. Если вы не знаете, как это сделать, Google «активность в стиле андроида как диалог». Это легко сделать в элементе Activity в манифесте. – Rich
Да, вы правы. Благодарю. – Behzad