Всплывающее окно над экраном вызова в версии Android 7.0

1

Я должен показать окно предупреждения на экране вызова. Ниже Android 7 эта функциональность работает нормально, но для Android 7 это не работает.

В сервисе я создаю оконный менеджер и добавил вид, но когда устройство заблокировано в случае Android 7, оно не отображается поверх экрана вызова.

 mParams = new WindowManager.LayoutParams(
                width - 20,
                ViewGroup.LayoutParams.WRAP_CONTENT, 
                WindowManager.LayoutParams.TYPE_SYSTEM_ALERT |
                    WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE |
                    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
                    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | 
                    WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
                    WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
                    WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                    WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | 
                    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
                PixelFormat.TRANSPARENT);

mParams.gravity = Gravity.CENTER;
Теги:
android-7.0-nougat

1 ответ

1
Лучший ответ

WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY устарел в API Level 26 для несистемных приложений и больше не работает, как раньше для приложений, ориентированных на Android 8.0; используйте взамен WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY.

  • 2
    все еще не работает. Я пытаюсь разработать идентификатор вызывающего абонента, как настоящий вызывающий абонент, но мой идентификатор вызывающего абонента не отображается, когда устройство заблокировано в Android 7.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню