Настройки приложения по умолчанию

API управления Android позволяет ИТ-администраторам удалённо устанавливать и применять приложения по умолчанию на управляемых устройствах или в профилях. Это повышает безопасность устройств, предотвращая переключение пользователей на менее безопасные приложения для выполнения критически важных функций, таких как звонки, отправка SMS и просмотр веб-страниц, тем самым снижая риски фишинга и кражи данных.

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

Конфигурация политики

Приложения по умолчанию можно настроить, добавив один или несколько объектов DefaultApplicationSetting в поле defaultApplicationSettings политики. Каждый объект настройки предназначен для определенного типа приложения и может применяться к различным областям применения .

Установить приложения по умолчанию

Для каждого типа DefaultApplicationType можно указать приоритетный список приложений в поле defaultApplications . API установит первое приложение из списка, установленное на устройстве и соответствующее данному типу, в качестве приложения по умолчанию.

Чтобы несистемное приложение можно было установить в качестве приложения по умолчанию, отпечаток его сертификата ключа подписи на устройстве должен совпадать с отпечатком, полученным из Google Play Store или одной из записей в ApplicationPolicy.signingKeyCerts .

Определить области действия

Поле defaultApplicationScopes определяет область применения политики. Доступны следующие области:

  • SCOPE_FULLY_MANAGED : Применяется к полностью управляемым устройствам.
  • SCOPE_WORK_PROFILE : Применяется к рабочему профилю на корпоративных или личных устройствах.
  • SCOPE_PERSONAL_PROFILE : Применяется к личному профилю на корпоративных устройствах.

При настройке приложения по умолчанию для SCOPE_FULLY_MANAGED или SCOPE_WORK_PROFILE приложение должно иметь соответствующую запись в политике applications . Тип installType для этого приложения не должен быть BLOCKED .

При выборе SCOPE_PERSONAL_PROFILE политика ограничивается установкой в ​​качестве приложений по умолчанию только предустановленных системных приложений.

Кросс-профильные роли

Некоторые роли, например, DEFAULT_WALLET , применяются ко всем профилям на устройстве. Для этих ролей на корпоративном устройстве с рабочим профилем администратор может выбрать приложение по умолчанию либо в рабочем, либо в личном профиле, но не в обоих одновременно.

Режим управления и версия Android

Поддержка этой функции зависит от режима управления устройством и версии Android.

Режим управления Андроид 14 - 15 Андроид 16+
Полностью управляемый Только DEFAULT_DIALER Поддерживаются все типы приложений.
Корпоративное устройство с рабочим профилем Не поддерживается Рабочий профиль : DEFAULT_BROWSER , DEFAULT_CALL_REDIRECTION , DEFAULT_CALL_SCREENING , DEFAULT_DIALER и DEFAULT_WALLET .
Личный профиль : DEFAULT_BROWSER , DEFAULT_DIALER , DEFAULT_SMS и DEFAULT_WALLET .
Личное устройство с рабочим профилем Не поддерживается Рабочий профиль : DEFAULT_BROWSER , DEFAULT_CALL_REDIRECTION , DEFAULT_CALL_SCREENING и DEFAULT_DIALER .
Личный профиль : не поддерживается

Сообщение о несоблюдении требований

Если политику невозможно применить, устройство сообщает о несоответствии (см. NonComplianceDetail ). Наиболее распространённые причины несоответствия:

  • Неподдерживаемое устройство или конфигурация : несоответствие причине API_LEVEL или MANAGEMENT_MODE сообщается, если функция не поддерживается в версии Android устройства или в его режиме управления.
  • Неподдерживаемые области : если ни одна из областей, указанных в политике, не применима к режиму управления устройством (например, политика, содержащая только SCOPE_PERSONAL_PROFILE , отправляется на полностью управляемое устройство), сообщается о несоответствии с причиной MANAGEMENT_MODE и конкретной причиной DEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPES .
  • Приложение не установлено : для полностью управляемых устройств и рабочих профилей, если ни одно из приложений в приоритетном списке не установлено на устройстве, выдается сообщение о несоответствии по причине APP_NOT_INSTALLED .
  • Недопустимое значение : если установлено хотя бы одно приложение, но настройки приложения по умолчанию не применяются по другим причинам (например, приложение не относится к правильному типу), сообщается о несоответствии с причиной INVALID_VALUE .
  • Ошибка личного профиля : для личного профиля сообщается об общем несоответствии INVALID_VALUE , если он не применяется по какой-либо причине, без раскрытия статуса установки личных приложений.

Отчет о состоянии приложения по умолчанию

Начиная с Android 16, отчёты о состоянии устройства включают defaultApplicationInfo . Это поле содержит сведения о текущих приложениях по умолчанию и результатах попыток применения политик. Чтобы включить эти отчёты, установите для флага defaultApplicationInfoReportingEnabled значение true в StatusReportingSettings .

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

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

  • packageName : указывает текущее приложение по умолчанию для данного типа. Это может быть приложение, заданное политикой, системное приложение по умолчанию или выбранное пользователем. Если это поле не указано, приложение по умолчанию для данного типа не задано.
  • defaultApplicationSettingAttempts : отображает результаты попыток настройки параметров приложений по умолчанию для каждого приложения, указанного в политике. Это помогает администраторам понять, почему приложения с более высоким приоритетом в списке могли не быть установлены в качестве приложений по умолчанию.

Пример политики

Вот пример политики, которая задаёт браузер и номеронабиратель по умолчанию. Приложения добавляются в политику applications , если область действия содержит SCOPE_FULLY_MANAGED или SCOPE_WORK_PROFILE . Для включения отчётности параметр defaultApplicationInfoReportingEnabled имеет значение true .

{
  "applications": [
    {
      "packageName": "com.android.chrome",
      "installType": "AVAILABLE"
    },
    {
      "packageName": "com.google.android.dialer",
      "installType": "AVAILABLE"
    },
    {
      "packageName": "com.samsung.android.dialer",
      "installType": "AVAILABLE"
    }
  ],
  "statusReportingSettings": {
    "defaultApplicationInfoReportingEnabled": true
  },
  "defaultApplicationSettings": [
    {
      "defaultApplicationType": "DEFAULT_BROWSER",
      "defaultApplications": [
        {
          "packageName": "com.android.chrome"
        }
      ],
      "defaultApplicationScopes": [
        "SCOPE_FULLY_MANAGED",
        "SCOPE_WORK_PROFILE"
      ]
    },
    {
      "defaultApplicationType": "DEFAULT_DIALER",
      "defaultApplications": [
        {
          "packageName": "com.google.android.dialer"
        },
        {
          "packageName": "com.samsung.android.dialer"
        }
      ],
      "defaultApplicationScopes": [
        "SCOPE_FULLY_MANAGED",
        "SCOPE_WORK_PROFILE",
        "SCOPE_PERSONAL_PROFILE"
      ]
    }
  ]
}