Перейти к содержанию

Скучный блог

  • записей
    19
  • комментариев
    128
  • просмотров
    84 010

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


Umnik

3 694 просмотра

Оригинал находится здесь: http://developer.android.com/preview/api-overview.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().

Как выглядят приложения в управляемом профиле:

managed_apps_launcher.png

 

 

Чтобы увидеть образец использования новой функциональности, обратитесь к примеру реализации 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()

  • Спасибо (+1) 2
  • Согласен 1

0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...