Использование рабочих профилей

Профиль работы является Android пользователя с дополнительными специальными свойствами вокруг управления и визуальной эстетики. Основная цель рабочего профиля - создать изолированное и безопасное пространство для хранения управляемых данных (например, корпоративных данных). Администратор профиля имеет полный контроль над областью, входом, выходом и временем жизни данных. Эти политики предлагают большие возможности и, следовательно, относятся к рабочему профилю, а не к администратору устройства.

  • Творчество. Любое приложение основного пользователя может создать рабочий профиль. Перед созданием пользователь получает уведомление о поведении рабочего профиля и применении политики.

  • Управление. Приложения , известные как владельцы профилей могут программный вызов API , в DevicePolicyManager классе , чтобы ограничить использование. Владельцы профиля определяются при первоначальной настройке профиля. Политики, уникальные для рабочих профилей, включают ограничения приложений, возможность обновления и поведение намерений.

  • Визуальное лечение. Приложения, уведомления и виджеты из рабочего профиля помечаются значком и обычно становятся доступными в виде встроенных элементов пользовательского интерфейса (UI) от основного пользователя.

Разделение данных

В рабочих профилях используются следующие правила разделения данных.

Программы

Когда одно и то же приложение существует в основном профиле пользователя и в рабочем профиле, приложения ограничиваются их собственными отдельными данными. Как правило, приложения действуют независимо и не могут напрямую взаимодействовать друг с другом через границу профиля и пользователя.

учетные записи

Учетные записи в рабочем профиле уникальны для основного пользователя, и доступ к учетным данным через границу профиля и пользователя невозможен. Только приложения в соответствующем контексте могут получить доступ к своим учетным записям.

Намерения

Администратор контролирует, разрешаются ли намерения в рабочем профиле или вне его. По умолчанию приложения из рабочего профиля остаются в пределах рабочего профиля, за исключением Device Policy API.

Идентификаторы устройства

На личных устройствах с рабочим профилем Android 12 или более поздней версии удаляет доступ к аппаратным идентификаторам устройства (IMEI, MEID, серийный номер) и предоставляет уникальный, зависящий от регистрации идентификатор, который идентифицирует регистрацию рабочего профиля для конкретной организации. Идентификатор регистрации гарантированно останется стабильным при заводских сбросах, что позволяет надежно отслеживать инвентарь устройств с рабочими профилями.

Личные устройства с рабочим профилем должны использовать идентификатор, зависящий от регистрации; корпоративные устройства, включая рабочий профиль и полностью управляемые устройства, также могут отказаться от использования идентификатора. Для использования EMM должны установить идентификатор организации для каждого устройства, которым они управляют, после чего они могут считывать идентификатор, зависящий от регистрации, на этом устройстве и обрабатывать его как серийный номер. Для получения более подробной информации, обратитесь к укреплению безопасности и конфиденциальности для работы профиля .

Настройки

Применение настроек ограничено рабочим профилем, за исключением настроек экрана блокировки и шифрования, которые относятся к устройству и совместно используются основным пользователем и рабочим профилем. Помимо этих исключений, владелец профиля не имеет прав администратора устройства за пределами рабочего профиля.

Профили работы реализованы в виде вторичного пользователя, так что uid = 100000 \* userid + appid . Эти профили имеют отдельные данные приложения ( /data/user/ userid ), похожие на обычные пользователь. userid вычисляется для всех запросов системы с использованием Binder.getCallingUid() , и все государственные и ответы системы разделены userid значением.

AccountManagerService поддерживает отдельный список учетных записей для каждого пользователя. Различия в учетной записи между пользователем рабочего профиля и обычным второстепенным пользователем включают следующее:

  • Рабочий профиль связан с его родительским пользователем и запускается с основным пользователем во время загрузки.

  • Уведомления для работы профилей активируются ActivityManagerService , что позволяет профиль работы , чтобы разделить стек деятельности с первичным пользователем.

  • Дополнительные общие системные службы включают IME, службы A11Y, Wi-Fi и NFC.

  • API-интерфейсы Launcher позволяют программам запуска отображать приложения со значками и виджеты из рабочего профиля рядом с приложениями в основном профиле без переключения пользователей.

Управление устройством

Управление корпоративными устройствами Android включает следующих владельцев:

  • Владелец профиля. Предназначен для использования в среде с собственным устройством (BYOD).
  • Владелец устройства. Разработан для корпоративных сред.

Некоторые API-интерфейсы управления устройствами используются для потребителей (например, API-интерфейсы поиска моего устройства), в то время как другие API-интерфейсы доступны только для владельцев профилей или устройств.

Владельцы профилей

Приложение Device Policy Client (DPC) выступает в роли владельца профиля и обычно предоставляется партнером по управлению мобильностью предприятия (EMM), таким как Google Apps Device Policy. Владелец профиля приложение создает профиль работы на устройстве, посылая ACTION_PROVISION_MANAGED_PROFILE намерения. В рабочем профиле есть отмеченные экземпляры приложений, которые визуально отличаются от личных экземпляров приложений; значок идентифицирует приложение как рабочее приложение. EMM контролирует только рабочий профиль, но не личное пространство (за некоторыми исключениями, такими как принудительная установка экрана блокировки).

Владельцы устройств

Владелец устройства может быть установлен только на неподготовленном устройстве, так как владелец должен быть предоставлен во время первоначальной настройки устройства. Быстрые настройки всегда должны отображать раскрытие. Владельцы устройств могут выполнять некоторые задачи, недоступные владельцам профилей, например:

  • Удаление данных с устройства.
  • Отключение Wi-Fi или Bluetooth.
  • Установка значения setGlobalSetting .
  • Установка значения setLockTaskPackages , который является способностью allowlist пакетов , которые могут возлагают себя на передний план.
  • Установка значения DISALLOW_MOUNT_PHYSICAL_MEDIA , что FALSE по умолчанию; когда установлено значение TRUE , портативные и оптимизируется под физические носители не могут быть установлены).

API-интерфейсы DevicePolicyManager

Android 5.0 или выше предлагает улучшенный DevicePolicyManager с API , которые поддерживают корпоративные собственности и принести свои устройства (BYOD) прецеденты управления, в том числе ограничивающих приложений, беззвучно installating сертификатов и контроль поперечного профиля обмена пристальный доступа. Для начала, используйте образец устройства Client Policy (DPC) приложение BasicManagedProfile.apk . Для получения дополнительной информации см Построить контроллер политики устройства .

Пользовательский опыт рабочего профиля

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

Устройства с лотком для приложений

В Android 9 или более поздних версиях изменения UX рабочего профиля для Launcher3 помогают пользователям поддерживать отдельные личные и рабочие профили. Ящик приложений предоставляет представление с вкладками, чтобы различать приложения личного профиля. Когда пользователи впервые просматривают вкладку рабочего профиля, им предоставляется образовательный вид, который помогает им перемещаться по рабочему профилю. Они также могут включить или выключить рабочий профиль с помощью переключателя на рабочей вкладке средства запуска.

Просмотры профиля с вкладками

В Android 9 или более поздних версиях рабочий профиль позволяет пользователям переключаться между личными и управляемыми списками приложений в панели приложений. Просмотры App разделены на две RecyclerViews , управляемых с помощью ViewPager . Пользователи могут переключаться между различными представлениями профиля, используя вкладки профиля в верхней части панели приложений, как показано ниже:


Рисунок 1. вкладка Личного вид

Вкладка Рисунок 2. Работа вид, работа профиль тумблер

Вид вкладок осуществляются в рамках AllAppsContainerView класса Launcher3. Для эталонной реализации индикатора вкладок профиля, относится к PersonalWorkSlidingTabStrip классу.

Образовательный вид

Android 9 или более поздней версии поддерживает образовательное представление, которое информирует пользователей о назначении рабочей вкладки и о том, как они могут упростить доступ к рабочим приложениям. Используя Launcher3, вы можете представить образовательное представление в нижней части экрана рабочей вкладки, когда пользователи впервые открывают рабочую вкладку, как показано ниже:

Образовательный вид

Вид Рисунок 3. Образовательные

Учебный вид определяется BottomUserEducationView класса с планировкой под контролем work_tab_tottom_user_education_view.xml . В BottomUserEducationView , то KEY_SHOWED_BOTTOM_USER_EDUCATION булево устанавливается в false по умолчанию. Когда пользователь закрывает образовательную точку зрения, логическое установлено значение true .

Переключите, чтобы включить или отключить рабочие профили

В Android 9 или более поздней версии администраторы управляемых устройств могут предоставить пользователям переключатель в нижнем колонтитуле рабочей вкладки для включения или отключения рабочего профиля. Включение и отключение рабочего профиля выполняется асинхронно и применяется ко всем действующим профилям пользователей; этот процесс управляется WorkModeSwitch класса. Для переключения источника, обратитесь к WorkFooterContainer .

Устройства без панели приложений

Для программ запуска без панели приложений продолжайте размещать ярлыки приложений рабочего профиля в рабочей папке. Если рабочая папка не заполняет правильно и вновь установленные приложения не добавляются в папку, применяются следующие изменения в onAllAppsLoaded методы в ManagedProfileHeuristic класса:

for (LauncherActivityInfo app : apps) {
        // Queue all items which should go in the work folder.
        if (app.getFirstInstallTime() < Long.MAX\_VALUE) {
                InstallShortcutReceiver.queueActivityInfo(app, context);
        }
}

Проверка изменений UX

Чтобы протестировать реализацию UX рабочего профиля с помощью приложения TestDPC:

  1. На устройстве, установите TestDPC приложение из Play Маркета Google.

  2. Откройте пусковой или приложение ящик и выберите Установить вверх TestDPC.

  3. Следуйте инструкциям на экране, чтобы настроить рабочий профиль.


    Рисунок 4. Настройка рабочего профиля


    Рисунок 5. Добавление учетных записей


    Рисунок 6. Установка завершена

  4. Откройте панель запуска или панель приложений и убедитесь, что рабочая вкладка присутствует и содержит нижний колонтитул рабочего профиля.

  5. Убедитесь, что вы можете включать и выключать рабочий профиль, подтверждая, что рабочий профиль включен и отключен должным образом. На следующих рисунках показаны примеры включенных и отключенных рабочих профилей:


    Рисунок 7. Переключение на работе профиль включен

    Рисунок 8. Переключение выкл, работа профиль отключен

Значок приложения для рабочего профиля

В Android 9 или более поздних версиях из соображений доступности рабочий значок имеет синий (# 1A73E8) цвет вместо оранжевого.