默认应用设置

借助 Android Management API,IT 管理员可以远程设置和强制执行受管理设备或个人资料中的默认应用。这有助于防止用户将重要功能(例如拨号、短信和浏览)切换到安全性较低的应用,从而增强设备安全性,并降低网络钓鱼和数据渗漏等风险。

管理员设置默认应用政策后,最终用户将无法更改指定个人资料中的任何默认应用设置。

政策配置

您可以通过在政策的 defaultApplicationSettings 字段中添加一个或多个 DefaultApplicationSetting对象来配置默认应用。每个设置对象都以特定应用类型为目标 并且可以应用于不同的 范围

设置默认应用

对于每个 DefaultApplicationType,您可以在 defaultApplications 字段中提供一个应用优先级列表 。该 API 会将列表中安装在设备上且符合应用类型条件的首个应用设置为默认应用。

如需将非系统应用设置为默认应用,该应用在设备上的签名密钥 证书指纹必须与从 Google Play 商店获取的指纹或以下某个条目相符: ApplicationPolicy.signingKeyCerts

定义范围

defaultApplicationScopes 字段用于确定政策的应用位置。 可用范围包括:

SCOPE_FULLY_MANAGEDSCOPE_WORK_PROFILE 设置默认应用时,该应用必须在 applications 政策中具有相应的条目。该应用的 installType 不得为 BLOCKED

SCOPE_PERSONAL_PROFILE 为目标时,政策仅限于 将预安装的系统应用设置为默认应用。

跨个人资料角色

某些角色(例如 DEFAULT_WALLET)适用于设备上的所有个人资料。对于具有工作资料的公司自有设备上的这些角色,管理员可以选择在工作资料或个人资料中设置默认应用,但不能同时在两者中设置。

管理模式和 Android 版本

对该功能的支持因设备的管理模式和 Android 版本而异。

管理模式 Android 14 至 Android 15 Android 16+
全代管式 DEFAULT_DIALER 仅限 支持所有应用类型。
具有工作资料的公司自有设备 不支持 工作资料DEFAULT_BROWSERDEFAULT_CALL_REDIRECTIONDEFAULT_CALL_SCREENINGDEFAULT_DIALERDEFAULT_WALLET
个人资料DEFAULT_BROWSERDEFAULT_DIALERDEFAULT_SMSDEFAULT_WALLET
具有工作资料的个人自有设备 不支持 工作资料DEFAULT_BROWSERDEFAULT_CALL_REDIRECTIONDEFAULT_CALL_SCREENINGDEFAULT_DIALER
个人资料:不支持

违规问题报告

如果政策无法应用,设备会报告违规问题(请参阅 NonComplianceDetail)。违规问题的常见原因包括:

  • 设备或配置不受支持:如果设备上的 Android 版本或管理模式不支持该功能,系统会报告违规问题,并说明原因 API_LEVELMANAGEMENT_MODE
  • 范围不受支持:如果政策中指定的任何范围都不适用于设备的管理模式(例如,仅包含 SCOPE_PERSONAL_PROFILE 的政策被发送到全代管式设备),系统会报告违规问题,并说明原因 MANAGEMENT_MODE 和具体原因 DEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPES
  • 应用未安装:对于全代管式设备和工作资料,如果 优先级列表中的所有应用均未安装在设备上, 系统会报告违规问题,并说明原因APP_NOT_INSTALLED
  • 值无效:如果至少安装了一个应用,但默认 应用设置因其他原因(例如,应用类型不正确)而无法应用,系统会报告违规问题,并说明原因 INVALID_VALUE
  • 个人资料失败:对于个人资料,如果因任何 原因而无法应用,系统会报告通用的 INVALID_VALUE违规问题,而不会披露个人应用的安装状态。

默认应用状态报告

从 Android 16 开始,设备状态报告包含 defaultApplicationInfo。此字段提供有关当前默认应用和政策应用尝试结果的详细信息。如需启用 此报告,请在 StatusReportingSettings 中将 defaultApplicationInfoReportingEnabled 标志设置为 true

  • 全代管式设备 :报告涵盖所有应用类型。
  • 具有工作资料的设备 :报告仅包含工作资料支持的应用类型。

报告中的每种应用类型都包含以下详细信息:

  • packageName:表示此类型的当前默认应用。 它可以是政策设置的应用、系统默认应用或用户选择的应用。如果未报告此字段,则表示未为此类型设置默认应用。
  • defaultApplicationSettingAttempts:列出政策中指定的每个应用的默认应用设置尝试结果。这有助于管理员了解为什么列表中优先级较高的应用可能未被设置为默认应用。

政策示例

以下是一个设置默认浏览器和拨号器的政策示例。应用 会添加到 applications 政策中,因为范围包含 SCOPE_FULLY_MANAGEDSCOPE_WORK_PROFILEdefaultApplicationInfoReportingEnabled 设置为 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"
      ]
    }
  ]
}