Как сделать корпоративное мобильное приложение единственным на устройстве с помощью Android Management API

Далеко не всегда устройства с операционной системой Android используются как персональный гаджет. Иногда они служат одной конкретной бизнес-цели, и необходимость в предустановленных свойствах девайса отпадает.

55

Не проверял, чисто теория у меня такое ощущение, что PUB/SUB нотификации можно отправить из самого приложения, через https://developer.android.com/reference/androidx/enterprise/feedback/package-summary оттуда, добыть устройство, и поменять ему полиси на версию с не прикрепленным экраном. Без выделеных policy для каждого устройства. Вопрос в другом, а что делать если интернета в этот момент нет, и нужно как-раз эту проблему решить, открипив экран? Я это решил вызовом интента, для доступа к настройкам устройства, и VPN клиенту, из самого приложения.

Еще вариант полиси с опцией "kioskCustomLauncherEnabled": true оно всё-же позволяет по желанию приложениям кодом, прикреплятся к экрану (не знаю может это баг). Только работает это странно, после загрузки устройства, через 30 секунд, экран приложения открепляется сам! И выпадает на рабочий стол(кастомный ланчер), так-же экран открепляется при смене локали устройства (а у меня кстати задача менять локаль устройства, из настроек на сервере. Кстати Management API менять локаль не позволяет, покрайней мере полиси я не нашел, а вот было бы круто). Хотя потом можно снова запустить приложение и оно прикрепит экран.

Еще вопрос, а что делать, если я после установки Single APP приложения, хочу зарегистрировать аккаунт, сразу для него. Хорошо есть Pub/Sub нотификации, в конце установки. Затем можно задать этот аккаунт в приложение, через managed configurations...
Но блин, вся прелесть полиси, в том что изменив один раз policy, мы получаем эффект на всех устройствах с этим полиси (например установить новое приложение на все устройства), и это ломается, т.к. идентификатор управляемой конфигурации или сама конфигурация, задаётся в Policy. А вот аккаунт желательно б иметь на каждом устройстве свой.

Ответить