Фреймворк разрешения политик устройств

Начиная с Android 14 несколько агентов управления правилами для устройств могут задавать правила с помощью API DevicePolicyManager.

Общие принципы

Если правила для пользователя применяются несколькими агентами управления правилами для устройств:

  • Агенты управления правилами для устройств могут запрашивать принудительно применяемые или разрешенные правила, которые они могут задавать.
  • Каждый набор правил приводит к обратному вызову (onPolicySetResult), который указывает, что правило было задано правильно или не удалось задать по определенной причине (например, из-за конфликта правил или сбоя оборудования).
  • Если разрешенное состояние правила изменится позже, будет получен обратный вызов (onPolicyChanged), указывающий, соответствует ли правило тому, что задал агент.
  • Большинство правил работают по принципу "побеждает самое строгое". Это означает, что применяется самое строгое правило, выбранное любым агентом управления правилами для устройств.

Android 14 (уровень API 34) или более поздняя версия

В Android 14 (уровень API 34) и более поздних версиях устройства, совместимые с Android, должны реализовать механизм разрешения конфликтов, описанный в таблице ниже, чтобы устранять конфликты, когда правила задаются более чем одним агентом управления правилами для устройств. Механизмы разрешения, указанные в таблице ниже (MostRecent, MostRestrictive, StringSetUnion и TopPriority), – это названия классов механизмов разрешения, определенных в Android Open Source Project.

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

DevicePolicyManager API Механизм разрешения споров
MostRecent: если правило задано несколькими администраторами, применяется самое последнее.
MostRestrictive – задает ограничение для пользователя, если оно было установлено администратором.
StringSetUnion: объединение правил, заданных одним или несколькими администраторами (для правил, представленных в виде набора строк).
TopPriority – разрешается в следующем порядке приоритета (от высокого к низкому), определяемом ролью агента управления правилами для устройств:
  1. Администратор блокировки устройства
  2. Администратор организации
  3. Любой другой администратор