Показать всплывающее окно на экране блокировки
Я реализовал функцию идентификации вызывающего абонента, при которой, когда экран заблокирован, он должен открыть замок и показать всплывающее окно с именем вызывающего абонента.
это код, который я добавил в onCreate() PopupActivity.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Я также добавил разрешения
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
Это прекрасно работает, когда телефон не защищен паролем / шаблоном. Однако он показывает черный фон всплывающему окну, когда устройство защищено паролем / шаблоном, что не позволяет пользователю посещать / отклонять вызов.
1 ответ
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |PixelFormat.TRANSLUCENT);
Кажется, это работает для меня