Android NFC Предоставление и установка собственных корпоративных приложений
Моя компания хочет разослать планшеты сотрудникам только для корпоративного использования, но хочет настроить их с определенными разрешениями, настраиваемыми приложениями и настраиваемым средством запуска.
Итак, у меня есть основы, так как у меня есть приложение, которое будет использовать NFC для предоставления нового планшета. Я просмотрел страницу API DevicePolicyManager и не вижу некоторых вещей, которые хочу сделать. В чем я не уверен, так это в следующем, так что если люди могут указать мне правильное направление, это было бы здорово!
1) можно ли использовать этот процесс обеспечения для установки пользовательского модуля запуска и сделать его по умолчанию?
2) я могу протолкнуть несколько корпоративных приложений через этот процесс? т.е. установить свойство EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME несколько раз для всех приложений, которые мне нужно установить? Читая API, кажется, что вы установили его только один раз.
3) Нужно ли отправлять приложения через URL-адрес или можно использовать исходный планшет для запуска процесса инициализации, если приложения и они каким-либо образом отправляются через данный API? Прямо сейчас я использую URL и размещаю тестовое приложение, но если есть другие способы, которые было бы полезно узнать.
4) Более простые вопросы, но означает ли это, что приложение должно быть назначено владельцем устройства? Что должно делать это приложение по отношению к другим корпоративным приложениям, которые будут установлены? Если это просто управление политиками, то нужно ли его выполнять вручную или всегда так, чтобы политики устанавливались даже после перезагрузки?
5) если некоторые приложения хотят быть в режиме киоска при запуске до перезагрузки, это правильный способ попросить приложение владельца устройства вызвать setLockTaskPackages() с вероятным приложением для киоска?
У меня, вероятно, есть больше вопросов, но это все, что я могу думать сейчас. Спасибо за любые ответы.
2 ответа
Да, вы можете использовать NFC для настройки вашего собственного администратора устройства Владелец устройства (DO) или Владелец профиля (PO), см.:
Активировать владельца устройства с помощью NFC на Android Lollipop
- Используя NFC, вы не можете напрямую подготовить пользовательский модуль запуска, но вы можете предоставить приложение администратора устройства, которое загружает и устанавливает модуль запуска. Приложение администратора устройства также может использовать все политики в DevicePolicyManager, а также все стандартные общедоступные API, например, для установки приложений, см.
Установить приложение программно на Android
Нет, в устройстве может быть только один DO или PO. Однако может быть несколько приложений администратора устройства, которые не являются ни DO, ни PO.
Вы можете отправить URL-адрес или указать имя пакета уже установленного приложения.
Политики, установленные администратором устройства, хранятся DevicePolicyManager в файле XML. Политики сохраняются при перезагрузке.
Да, администратор устройства может использовать setLockTaskPackages(), чтобы включить режим киоска приложения.
Надеюсь это поможет.
Марек Пола, Sony Mobile.
На большинство вопросов уже ответил Марек. Я надеюсь, что вы выяснили, что при определенных обстоятельствах вы можете установить APK без вывода сообщений.
Пример показан здесь: https://github.com/wso2/product-emm/blob/master/modules/mobile-agents/android/system-service/app/src/main/java/org/wso2/emm/system/service/utils/AppUtils.java
По сути, вы просто вызываете метод InstallPackage PackageManagers с помощью отражения - и когда приложение, которое делает это, имеет необходимые для этого права (зависит от версии Android, пользователя, под которым запускается приложение, подписи приложения и т. Д.), Оно будет выполнено. на заднем фоне.
Я знаю, что это работает (ред.) Для системных приложений / подписанных приложений. А так как приведенный выше пример взят из решения EMM/MDM, я предполагаю, что вы можете вызывать его, когда вы DO/PO.