Диалоговое окно сопряжения Bluetooth не отображается в режиме закрепления экрана

Я пишу корпоративное приложение на основе Device Policy Manager. Приложение включит режим киоска на устройстве, поэтому только одно приложение будет на переднем плане, и пользователь не сможет выйти из приложения.

Мое приложение заносит в белый список конкретное приложение, которое будет на переднем плане. Пока все работает отлично, за исключением того, что когда устройство находится в режиме киоска, системные диалоговые окна, например диалоговое окно сопряжения устройства Bluetooth и диалоговое окно разрешения USB-аксессуаров, не отображаются поверх закрепленного приложения.

Мне не удалось найти ни одного API, который позволял бы отображать такие системные диалоги во время работы режима киоска.

Google добавил несколько новых API в Android 9, которые сообщают вам об этом, но поскольку мое приложение будет работать на устройствах ‹= Android Oreo, я не могу использовать эти API.

Следующий api используется для внесения приложения в белый список для перехода в режим киоска,

public void setLockTaskPackages (ComponentName admin, 
                String[] packages)

а затем закрепленное на экране приложение вызывает startLockTask(), чтобы полностью повлиять на режим киоска, но затем системные диалоги перестают появляться, как упоминалось выше.

Есть ли какой-нибудь другой api, который позволял бы отображать системные диалоги? Любые указатели / обходные пути будут действительно оценены


person user2498079    schedule 09.05.2019    source источник


Ответы (2)


В настоящее время я разрабатываю корпоративное приложение с той же проблемой. Мое временное решение заключалось в том, чтобы разблокировать приложение, пока я ожидаю получить диалоговое окно сопряжения Bluetooth, а затем заблокировать приложение после того, как соединение будет установлено.

Пока что это единственное работающее решение, которое я нашел. Если вам удастся найти решение, дайте мне знать. Пытаться исправить это пару месяцев были разочаровывающими.

person Tyler Hietanen    schedule 30.05.2019
comment
Тайлер, ты нашел решение для этого? - person trixo; 15.01.2021

Мне пришлось добавить com.android.settings в мой список LockTaskPackages.

person Dev Chris    schedule 10.03.2020
comment
Привет, чувак, ты можешь немного расширить свой вопрос? Я работаю с конечной точкой Microsoft (Intune), и у меня возникла эта проблема. Что такое LockTaskPackage, вы настраиваете его в приложении? - person trixo; 15.01.2021
comment
Привет, я не знаком с MS Endpoint, но если вы работаете в Android и включаете режим LockTask, вы можете добавлять пакеты в белый список dpm.setLockTaskPackages (admin, whitelist) Этим пакетам теперь разрешено запускать / открывать приложения, пока ваше приложение заблокирован - person Dev Chris; 18.01.2021