Android NFC Подготовка и установка внутренних корпоративных приложений

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

Итак, у меня есть основы, так как у меня есть приложение, которое будет использовать NFC для подготовки нового планшета. Я просмотрел страницу API DevicePolicyManager и не нашел некоторых вещей, которые хотел бы сделать. В чем я не уверен, так это в следующем, поэтому, если бы люди могли указать мне правильное направление, это было бы здорово!

1) могу ли я использовать этот процесс подготовки, чтобы установить пользовательскую программу запуска и сделать ее программой по умолчанию?

2) могу ли я запустить несколько корпоративных приложений через этот процесс? то есть установить свойство EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME несколько раз для всех приложений, которые мне нужно установить? Читая API, кажется, что вы установили его только один раз.

3) Должны ли отправляемые приложения отправляться через URL-адрес или можно использовать исходный планшет для инициирования процесса подготовки, если приложения и они каким-то образом отправляются через данный API? Прямо сейчас я использую URL-адрес и размещаю тестовое приложение, но если есть другие способы, было бы здорово узнать.

4) Более простые вопросы, но означает ли это установить приложение в качестве владельца устройства? Что это приложение должно делать по отношению к другим корпоративным приложениям, которые будут установлены? Если это просто управление политиками, то нужно ли выполнять его вручную или он всегда работает таким образом, что политики устанавливаются даже после перезагрузки?

5) если некоторые приложения хотят находиться в режиме киоска при выполнении до перезагрузки, это правильный способ попросить приложение владельца устройства вызвать setLockTaskPackages() с вероятным приложением для киоска?

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


person Brian    schedule 10.10.2015    source источник


Ответы (2)


Да, вы можете использовать NFC для настройки собственного администратора устройства владельца устройства (DO) или владельца профиля (PO), см.:

Активация владельца устройства с помощью NFC на Android Lollipop

  1. Используя NFC, вы не можете напрямую настроить пользовательскую программу запуска, но вы можете предоставить приложение администратора устройства, которое загружает и устанавливает программу запуска. Приложение администратора устройства также может использовать все политики в DevicePolicyManager, а также все стандартные общедоступные API, например. установить приложения, см.:

Программно установить приложение на Android

  1. Нет, в устройстве может быть только один DO или PO. Однако это может быть несколько приложений для администрирования устройств, которые не являются ни DO, ни PO.

  2. Вы можете либо отправить URL-адрес, либо указать имя пакета уже установленного приложения.

  3. Политики, установленные администратором устройства, сохраняются DevicePolicyManager в XML-файле. Политики сохраняются при перезагрузке.

  4. Да, администратор устройства может использовать setLockTaskPackages() для включения режима киоска приложения.

Надеюсь это поможет.

/Марек Пола, Sony Mobile.

person Marek Pola    schedule 11.10.2015
comment
Итак, если у меня есть приложение для администрирования устройства, которое загружается и устанавливается, есть ли способ сделать его по умолчанию, или это шаг пользователя? Спасибо за ответ - person Brian; 12.10.2015
comment
Глядя на вашу ссылку для программной установки приложения, похоже, что она требует взаимодействия с пользователем. Есть ли способ сделать это без взаимодействия с пользователем? Мы собираемся настроить более 1000 планшетов, и чем более это будет автоматизировано, тем лучше. - person Brian; 12.10.2015
comment
Что касается laucher, проверьте, отвечает ли это на ваш вопрос: stackoverflow.com/a/27992345/3852769 /Марек Пола, Sony Mobile - person Marek Pola; 13.10.2015
comment
Насколько я знаю, невозможно установить приложение без вывода сообщений с помощью ванильного API. Это возможно в Android for Work или Google Edu, но они добавили для этого дополнительную поддержку платформы. Однако могут существовать проприетарные API, которые делают это. /Марек Пола, Sony Mobile. - person Marek Pola; 13.10.2015
comment
@ Брайан, я работал над приложением, которое делает именно то, что вы ищете ... оно больше для образовательных целей, но его можно изменить, чтобы оно работало на вас. Предлагаем вам посетить manageclass.com Раскрытие информации: у меня есть связь с ними - person kash; 27.10.2015

На большинство вопросов уже ответил Марек. Надеюсь, вы поняли, что при определенных обстоятельствах вы можете автоматически установить 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

По сути, вы просто вызываете метод PackageManagers installPackage посредством отражения, и когда приложение, которое делает это, имеет необходимые права для этого (зависит от версии Android, пользователя, под которым запущено приложение, подписи приложения и т. д.), оно будет выполнено на заднем фоне.

Я знаю, что это работает (редактор) для системных приложений/подписанных приложений. И поскольку приведенный выше пример относится к решению EMM/MDM, я предполагаю, что вы можете вызывать его, когда вы являетесь DO/PO.

person icyerasor    schedule 10.05.2016