Перейти к содержимому






Фотография

Перевод статьи: Новое в Android L API: Enterprise

Написано Umnik , 26 Август 2014 · 2 085 Просмотров

Оригинал находится здесь: http://developer.and...html#Enterprise Его и читайте.
Вообще стоило перевести всю запись на девелопер.андроид.ком целиком, но именно раздел Enterprise статьи тесно связан с прошлым переводом, касающимся KNOX в Android L. Потому вот так.

Управляемая подготовка (Managed provisioning)
L Developer Preview предоставляет новые возможности для запускаемых приложений в энтерпрайз окружении. Если у пользователья уже есть личная учетная запись на устройстве, Администратор устройства (Device Administrator, Device Admin - программная фишка Андроида, а не владелец устройства; прим. Umnik) может начать процесс управляемой подготовки (Managed provisioning process), который добавит к уже существующему профилю отдельный, управляемый профиль.

Для начала процесса управляемой подготовки отправьте ACTION_PROVISION_MANAGED_PROFILE в Intent. Если вызов успешен, система выполнит android.app.admin.DeviceAdminReceiver с ответом onProfileProvisioningComplete(). Теперь вы можете вызвать setProfileEnabled() из app.admin.DevicePolicyManager для включения этого управляемого профиля.

Если вы разрабатываете свой Ланчер, то для получения списка запускаемых (в смысле launchable; прим. Umnik) активити для текущего пользователя и всех ассоциированных управляемых профилей, можно использовать новый класс android.content.pm.LauncherApps. Ваш Ланчер может визуально указать на управляемые приложения добавлением иконки к значку - просто используйте android.os.UserManager. getBadgeDrawableForUser().
Как выглядят приложения в управляемом профиле


Чтобы увидеть образец использования новой функциональности, обратитесь к примеру реализации BasicManagedProfile в этом релизе.

Блокирование задач (Task locking)
The L Developer Preview вводит новые API задач блокировки (Task locking API), которые временно запрещают пользователям выходить из ваших приложений и блокируют уведомления приложений. Это можно использовать, к примеру, если вы разрабатываете обучающие приложения. В итоге, если ваше приложение запущено в этом режиме, то до тех пор, пока оно не выйдет из него, пользователи не смогут видеть уведомления других приложений или возвращаться на главный экран.

Для предотвращения не санкционированного использования, только разаршенные приложения могут вызывать блокирование задач. Кроме того, авторизация блокирование задач должна вызываться специально настроенным device owner приложением методом android.app.admin.DevicePolicyManager.setLockTaskComponents().

Для установки приложения device owner нужно выполнить следующие шаги:
1. Подключите устройство, работающее под Android userdebug к компьютеру
2. Установите на устройство device owner приложение
3. Создайте в /data/system файл device_owner.xml
$ adb root
$ adb shell stop
$ rm /tmp/device_owner.xml
$ echo "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>"
>> /tmp/device_owner.xml
$ echo "<device-owner package=\"<your_device_owner_package>\"
name=\"*<your_organization_name>\" />" >> /tmp/device_owner.xml
$ adb push /tmp/device_owner.xml /data/system/device_owner.xml
$ adb reboot
Перед использованием API задач блокировки, проверте, что ваше активити авторизовано, вызвав DevicePolicyManager.isLockTaskPermitted().

Для активации задач блокировки вызовите android.app.Activity.startLockTask() из своего авторизованного активити.

Когда задача блокировки активна, произойдут следующие изменения:
- Область уведомлений пуст. Пользовательские уведомления и прочая информация скрыты
- Кнопки Home и Recent Apps скрыты
- Другие приложения не запускают новых активити
- Текущее приложение может стартовать новые активити до тех пор, пока не создает новых задач. (The current app may start new activities, as long as doing so does not create new tasks.)
- Пользователь не может покинуть приложение до тех пор, пока авторизованное активити не вызовет Activity.stopLockTask()
  • Спасибо x 2
  • Показать


  • 1