Невозможно нарисовать макет, когда экран выключен — в Oreo

Я реализовал приложение для распознавания звонков, которое отображает View, содержащее идентификатор вызывающего абонента. Точнее, это Service с WindowManager, где я добавляю View. Я также использую разрешение рисовать поверх других приложений. Проблема только в Android 8, если пользователь включает блокировку экрана (Настройки-> Безопасность и местоположение -> Блокировка экрана). В этом сценарии, если экран устройства выключен, и кто-то звонит, мое распознавание звонков не отображается. (Единственное, что я вижу, это собственное приложение для распознавания звонков, которое звонит) Мой код Service работает правильно, но пользователь не может видеть пользовательский интерфейс. У тебя есть что-то на уме?

заранее спасибо


person Fivos    schedule 27.03.2018    source источник


Ответы (1)


После нескольких попыток я обнаружил, что в конструктор WindowManager.LayoutParams следует передать следующий параметр.

флаги -> WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED

Для более ранних версий Android, хотя я не использовал этот параметр, все было в порядке.

person Fivos    schedule 28.03.2018