MCP Tools Reference: Android Device Management MCP Server

工具:list_policies

列出指定企业的政策。需要在父字段中提供企业资源名称(例如 enterprises/{enterpriseId})。

以下示例演示了如何使用 curl 调用 list_policies MCP 工具。

Curl 请求
                  
curl --location 'https://androidmanagement.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_policies",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

输入架构

请求列出指定企业的政策。

ListPoliciesRequest

JSON 表示法
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string
}
字段
parent

string

企业的名称,格式为 enterprises/{enterpriseId}

pageSize

integer

请求的页面大小。实际页面大小可能会固定为最小值或最大值。

pageToken

string

标识服务器返回的结果页面的令牌。

输出架构

针对列出指定企业的政策的请求的响应。

ListPoliciesResponse

JSON 表示法
{
  "policies": [
    {
      object (Policy)
    }
  ],
  "nextPageToken": string
}
字段
policies[]

object (Policy)

政策列表。

nextPageToken

string

如果还有更多结果,则为用于检索下一页结果的令牌。

政策

JSON 表示法
{
  "name": string,
  "version": string,
  "applications": [
    {
      object (ApplicationPolicy)
    }
  ],
  "maximumTimeToLock": string,
  "screenCaptureDisabled": boolean,
  "cameraDisabled": boolean,
  "keyguardDisabledFeatures": [
    enum (KeyguardDisabledFeature)
  ],
  "defaultPermissionPolicy": enum (PermissionPolicy),
  "persistentPreferredActivities": [
    {
      object (PersistentPreferredActivity)
    }
  ],
  "openNetworkConfiguration": {
    object
  },
  "systemUpdate": {
    object (SystemUpdate)
  },
  "accountTypesWithManagementDisabled": [
    string
  ],
  "addUserDisabled": boolean,
  "adjustVolumeDisabled": boolean,
  "factoryResetDisabled": boolean,
  "installAppsDisabled": boolean,
  "mountPhysicalMediaDisabled": boolean,
  "modifyAccountsDisabled": boolean,
  "safeBootDisabled": boolean,
  "uninstallAppsDisabled": boolean,
  "statusBarDisabled": boolean,
  "keyguardDisabled": boolean,
  "minimumApiLevel": integer,
  "statusReportingSettings": {
    object (StatusReportingSettings)
  },
  "bluetoothContactSharingDisabled": boolean,
  "shortSupportMessage": {
    object (UserFacingMessage)
  },
  "longSupportMessage": {
    object (UserFacingMessage)
  },
  "passwordRequirements": {
    object (PasswordRequirements)
  },
  "wifiConfigsLockdownEnabled": boolean,
  "bluetoothConfigDisabled": boolean,
  "cellBroadcastsConfigDisabled": boolean,
  "credentialsConfigDisabled": boolean,
  "mobileNetworksConfigDisabled": boolean,
  "tetheringConfigDisabled": boolean,
  "vpnConfigDisabled": boolean,
  "wifiConfigDisabled": boolean,
  "createWindowsDisabled": boolean,
  "networkResetDisabled": boolean,
  "outgoingBeamDisabled": boolean,
  "outgoingCallsDisabled": boolean,
  "removeUserDisabled": boolean,
  "shareLocationDisabled": boolean,
  "smsDisabled": boolean,
  "unmuteMicrophoneDisabled": boolean,
  "usbFileTransferDisabled": boolean,
  "ensureVerifyAppsEnabled": boolean,
  "permittedInputMethods": {
    object (PackageNameList)
  },
  "stayOnPluggedModes": [
    enum (BatteryPluggedMode)
  ],
  "recommendedGlobalProxy": {
    object (ProxyInfo)
  },
  "setUserIconDisabled": boolean,
  "setWallpaperDisabled": boolean,
  "choosePrivateKeyRules": [
    {
      object (ChoosePrivateKeyRule)
    }
  ],
  "alwaysOnVpnPackage": {
    object (AlwaysOnVpnPackage)
  },
  "frpAdminEmails": [
    string
  ],
  "deviceOwnerLockScreenInfo": {
    object (UserFacingMessage)
  },
  "dataRoamingDisabled": boolean,
  "locationMode": enum (LocationMode),
  "networkEscapeHatchEnabled": boolean,
  "bluetoothDisabled": boolean,
  "complianceRules": [
    {
      object (ComplianceRule)
    }
  ],
  "blockApplicationsEnabled": boolean,
  "installUnknownSourcesAllowed": boolean,
  "debuggingFeaturesAllowed": boolean,
  "funDisabled": boolean,
  "autoTimeRequired": boolean,
  "permittedAccessibilityServices": {
    object (PackageNameList)
  },
  "appAutoUpdatePolicy": enum (AppAutoUpdatePolicy),
  "kioskCustomLauncherEnabled": boolean,
  "androidDevicePolicyTracks": [
    enum (AppTrack)
  ],
  "skipFirstUseHintsEnabled": boolean,
  "privateKeySelectionEnabled": boolean,
  "encryptionPolicy": enum (EncryptionPolicy),
  "usbMassStorageEnabled": boolean,
  "permissionGrants": [
    {
      object (PermissionGrant)
    }
  ],
  "playStoreMode": enum (PlayStoreMode),
  "setupActions": [
    {
      object (SetupAction)
    }
  ],
  "passwordPolicies": [
    {
      object (PasswordRequirements)
    }
  ],
  "policyEnforcementRules": [
    {
      object (PolicyEnforcementRule)
    }
  ],
  "kioskCustomization": {
    object (KioskCustomization)
  },
  "advancedSecurityOverrides": {
    object (AdvancedSecurityOverrides)
  },
  "personalUsagePolicies": {
    object (PersonalUsagePolicies)
  },
  "autoDateAndTimeZone": enum (AutoDateAndTimeZone),
  "oncCertificateProviders": [
    {
      object (OncCertificateProvider)
    }
  ],
  "crossProfilePolicies": {
    object (CrossProfilePolicies)
  },
  "preferentialNetworkService": enum (PreferentialNetworkService),
  "usageLog": {
    object (UsageLog)
  },
  "cameraAccess": enum (CameraAccess),
  "microphoneAccess": enum (MicrophoneAccess),
  "deviceConnectivityManagement": {
    object (DeviceConnectivityManagement)
  },
  "deviceRadioState": {
    object (DeviceRadioState)
  },
  "credentialProviderPolicyDefault": enum (CredentialProviderPolicyDefault),
  "printingPolicy": enum (PrintingPolicy),
  "displaySettings": {
    object (DisplaySettings)
  },
  "assistContentPolicy": enum (AssistContentPolicy),
  "workAccountSetupConfig": {
    object (WorkAccountSetupConfig)
  },
  "wipeDataFlags": [
    enum (WipeDataFlag)
  ],
  "enterpriseDisplayNameVisibility": enum (EnterpriseDisplayNameVisibility),
  "appFunctions": enum (AppFunctions),
  "defaultApplicationSettings": [
    {
      object (DefaultApplicationSetting)
    }
  ]
}
字段
name

string

政策的名称,格式为 enterprises/{enterpriseId}/policies/{policyId}

version

string (int64 format)

政策的版本。此字段是只读字段。每次更新政策时,版本都会递增。

applications[]

object (ApplicationPolicy)

应用于应用的政策。此数组最多可包含 3,000 个元素。

maximumTimeToLock

string (int64 format)

用户活动的最长时间(以毫秒为单位),超过此时间后设备将锁定。值为 0 表示没有限制。

screenCaptureDisabled

boolean

是否停用了屏幕截图功能。

cameraDisabled
(deprecated)

boolean

如果 camera_access 设置为除 CAMERA_ACCESS_UNSPECIFIED 以外的任何值,则此属性无效。否则,此字段会控制摄像头是否停用:如果为 true,则所有摄像头都会停用;否则,摄像头可用。对于完全受管设备,此字段适用于设备上的所有应用。对于工作资料,此字段仅适用于工作资料中的应用,工作资料之外的应用的摄像头访问权限不受影响。

keyguardDisabledFeatures[]

enum (KeyguardDisabledFeature)

停用了锁屏自定义功能,例如 widget。

defaultPermissionPolicy

enum (PermissionPolicy)

针对运行时权限请求的默认权限政策。

persistentPreferredActivities[]

object (PersistentPreferredActivity)

默认 intent 处理程序 activity。

openNetworkConfiguration

object (Struct format)

设备的网络配置。如需了解详情,请参阅配置网络

systemUpdate

object (SystemUpdate)

系统更新政策,用于控制操作系统更新的应用方式。如果更新类型为 WINDOWED,更新窗口也会自动应用于 Play 应用更新。

注意Google Play 系统更新(也称为 Mainline 更新)会自动下载,但需要重新启动设备才能安装。如需了解详情,请参阅管理系统更新中的 Mainline 部分。

accountTypesWithManagementDisabled[]

string

无法由用户管理的账号类型。

addUserDisabled

boolean

是否禁止添加新用户和个人资料。对于 managementModeDEVICE_OWNER 的设备,系统会忽略此字段,并且永远不允许用户添加或移除用户。

adjustVolumeDisabled

boolean

是否停用主音量调节。还会将设备设为静音。此设置仅对完全托管的设备有效。

factoryResetDisabled

boolean

是否已禁止从设置中恢复出厂设置。

installAppsDisabled

boolean

用户安装应用是否被停用。

mountPhysicalMediaDisabled

boolean

装载实体外部媒体的用户是否已被停用。

modifyAccountsDisabled

boolean

是否已停用添加或移除账号功能。

safeBootDisabled
(deprecated)

boolean

是否禁止将设备重新启动进入安全启动模式。

uninstallAppsDisabled

boolean

用户是否无法卸载应用。这样可防止应用被卸载,即使是使用 applications 移除的应用也不例外

statusBarDisabled
(deprecated)

boolean

状态栏是否已停用。此设置会停用通知、快速设置以及其他允许退出全屏模式的屏幕叠加层。已弃用。如需在自助服务终端设备上停用状态栏,请使用 InstallType KIOSKkioskCustomLauncherEnabled

keyguardDisabled

boolean

如果为 true,则会针对主显示屏和/或辅助显示屏停用锁定屏幕。此政策仅在专用设备管理模式下受支持。

minimumApiLevel

integer

允许的最低 Android API 级别。

statusReportingSettings

object (StatusReportingSettings)

状态报告设置

bluetoothContactSharingDisabled

boolean

蓝牙联系人共享功能是否已停用。

shortSupportMessage

object (UserFacingMessage)

在管理员停用功能的设置界面中向用户显示的消息。如果消息长度超过 200 个字符,则可能会被截断。

longSupportMessage

object (UserFacingMessage)

在设备管理员的设置界面中向用户显示的消息。

passwordRequirements
(deprecated)

object (PasswordRequirements)

密码要求。不得设置 password_requirements.require_password_unlock 字段。已弃用 - 请改用 passwordPolicies

注意

此处不能使用基于复杂程度的 PasswordQuality 值,即 COMPLEXITY_LOWCOMPLEXITY_MEDIUMCOMPLEXITY_HIGH。此处无法使用 unified_lock_settings

wifiConfigsLockdownEnabled
(deprecated)

boolean

此版本已弃用。

bluetoothConfigDisabled

boolean

配置蓝牙是否已停用。

cellBroadcastsConfigDisabled

boolean

配置小区广播是否已停用。

credentialsConfigDisabled

boolean

是否已停用配置用户凭据。

mobileNetworksConfigDisabled

boolean

配置移动网络是否已停用。

tetheringConfigDisabled
(deprecated)

boolean

是否停用配置网络共享和便携式热点的功能。如果 tetheringSettings 设置为 TETHERING_SETTINGS_UNSPECIFIED 以外的任何值,则此设置将被忽略。

vpnConfigDisabled

boolean

是否停用配置 VPN。

wifiConfigDisabled
(deprecated)

boolean

配置 Wi-Fi 网络的功能是否已停用。完全受管理的设备和公司自有设备上的工作资料支持此设置。对于完全受管理设备,如果将此值设置为 true,则会移除所有已配置的网络,仅保留使用 openNetworkConfiguration 配置的网络。对于公司自有设备上的工作资料,现有已配置的网络不受影响,用户无法添加、移除或修改 Wi-Fi 网络。如果 configureWifi 设置为 CONFIGURE_WIFI_UNSPECIFIED 以外的任何值,则此设置会被忽略。注意:如果在启动时无法建立网络连接,并且 Wi-Fi 配置处于停用状态,系统会显示网络紧急出口,以便刷新设备政策(请参阅 networkEscapeHatchEnabled)。

createWindowsDisabled

boolean

是否停用创建应用窗口以外的窗口。

networkResetDisabled

boolean

是否停用重置网络设置。

outgoingBeamDisabled

boolean

是否停用使用 NFC 从应用传输数据。

outgoingCallsDisabled

boolean

是否停用去电。

removeUserDisabled

boolean

是否已停用移除其他用户的功能。

shareLocationDisabled

boolean

位置信息分享功能是否已停用。

smsDisabled

boolean

是否已停用短信发送和接收功能。

unmuteMicrophoneDisabled
(deprecated)

boolean

如果 microphone_access 设置为除 MICROPHONE_ACCESS_UNSPECIFIED 以外的任何值,则此属性无效。否则,此字段会控制麦克风是否处于停用状态:如果为 true,则所有麦克风都处于停用状态;否则,麦克风处于可用状态。此功能仅适用于完全受管设备。

usbFileTransferDisabled
(deprecated)

boolean

是否停用了通过 USB 传输文件的功能。只有公司自有设备支持此设置。

ensureVerifyAppsEnabled
(deprecated)

boolean

应用验证是否强制启用。

permittedInputMethods

object (PackageNameList)

如果存在,则仅允许使用此列表中的软件包提供的输入法。如果此字段存在,但列表为空,则仅允许使用系统输入法。

stayOnPluggedModes[]

enum (BatteryPluggedMode)

设备在哪些已接通电源的模式下保持开启状态。使用此设置时,建议清除 maximum_time_to_lock,以便设备在保持开启状态时不会自行锁定。

recommendedGlobalProxy

object (ProxyInfo)

独立于网络的全局 HTTP 代理。通常,应在 open_network_configuration 中按网络配置代理。不过,对于常规内部过滤等特殊配置,全局 HTTP 代理可能很有用。如果无法访问代理,网络访问可能会中断。全局代理只是一个建议,某些应用可能会忽略它。

setUserIconDisabled

boolean

是否禁止更改用户图标。此设置仅适用于搭载 Android 7 及更高版本的设备。

setWallpaperDisabled

boolean

是否停用更改壁纸功能。

choosePrivateKeyRules[]

object (ChoosePrivateKeyRule)

用于确定应用对私钥的访问权限的规则。如需了解详情,请参阅 ChoosePrivateKeyRule。如果任何应用具有 CERT_SELECTION 委托范围,则此字段必须为空。

alwaysOnVpnPackage

object (AlwaysOnVpnPackage)

始终开启的 VPN 连接的配置。与 vpn_config_disabled 搭配使用可防止修改此设置。

frpAdminEmails[]

string

用于恢复出厂设置保护机制的设备管理员的电子邮件地址。当设备恢复出厂设置后,需要其中一位管理员使用 Google 账号电子邮件地址和密码登录才能解锁设备。如果未指定任何管理员,设备将不会提供恢复出厂设置保护。

deviceOwnerLockScreenInfo

object (UserFacingMessage)

要在锁定屏幕上显示的设备所有者信息。

dataRoamingDisabled

boolean

漫游数据服务是否已停用。

locationMode

enum (LocationMode)

已启用的位置信息检测程度。

networkEscapeHatchEnabled

boolean

网络紧急出口是否已启用。如果在启动时无法建立网络连接,逃生出口会提示用户暂时连接到网络,以便刷新设备政策。应用政策后,系统会忘记临时网络,设备将继续启动。这样可防止出现以下情况:如果上一个政策中没有合适的网络,并且设备以锁定任务模式启动到某个应用,或者用户无法访问设备设置,则无法连接到网络。

注意:在特定情况下,将 wifiConfigDisabled 设置为 true 会覆盖此设置。如需了解详情,请参阅 wifiConfigDisabled。在特定情况下,将 configureWifi 设置为 DISALLOW_CONFIGURING_WIFI 会替换此设置。如需了解详情,请参阅 DISALLOW_CONFIGURING_WIFI

bluetoothDisabled

boolean

蓝牙是否已停用。建议使用此设置,而不是 bluetooth_config_disabled,因为用户可以绕过 bluetooth_config_disabled

complianceRules[]
(deprecated)

object (ComplianceRule)

用于声明在设备不符合其政策时应采取哪些缓解措施的规则。如果满足多条规则的条件,系统会采取相应规则的所有缓解措施。规则数量上限为 100 条。请改用政策强制执行规则。

blockApplicationsEnabled
(deprecated)

boolean

是否禁止安装 applications 中配置的应用以外的应用。如果设置了此政策,系统会自动卸载根据先前政策安装但不再出现在该政策中的应用。

installUnknownSourcesAllowed
(deprecated)

boolean

此字段无效。

debuggingFeaturesAllowed
(deprecated)

boolean

用户是否可以启用调试功能。

funDisabled

boolean

用户是否可以玩乐。控制是否停用“设置”中的彩蛋游戏。

autoTimeRequired
(deprecated)

boolean

是否需要自动设置时间,如果需要,则禁止用户手动设置日期和时间。如果设置了 autoDateAndTimeZone,则此字段会被忽略。

permittedAccessibilityServices

object (PackageNameList)

指定允许的无障碍服务。如果未设置该字段,则可以使用任何无障碍服务。如果设置了该字段,则只能使用此列表中的辅助功能服务和系统的内置辅助功能服务。特别是,如果该字段设置为空,则只能使用系统的内置无障碍服务。此设置可在完全受管设备和工作资料中进行。如果将此设置应用于工作资料,则会同时影响个人资料和工作资料。

appAutoUpdatePolicy

enum (AppAutoUpdatePolicy)

建议的替代方案:autoUpdateMode,此设置是按应用设置的,可更灵活地控制更新频率。

如果 autoUpdateMode 设置为 AUTO_UPDATE_POSTPONEDAUTO_UPDATE_HIGH_PRIORITY,则此字段无效。

应用自动更新政策,用于控制何时可以应用自动应用更新。

kioskCustomLauncherEnabled

boolean

信息亭自定义启动器是否已启用。这会将主屏幕替换为启动器,该启动器会将设备锁定为通过 applications 设置安装的应用。应用按字母顺序显示在单个页面上。使用 kioskCustomization 进一步配置自助服务终端设备行为。

androidDevicePolicyTracks[]
(deprecated)

enum (AppTrack)

不支持此设置。系统会忽略任何值。

skipFirstUseHintsEnabled

boolean

用于在首次使用时跳过提示的标志。企业管理员可以启用应用系统推荐功能,以便用户在首次启动时跳过用户教程和其他入门提示。

privateKeySelectionEnabled

boolean

允许在设备上显示界面,以便用户在 ChoosePrivateKeyRules 中没有匹配规则时选择私钥别名。对于低于 Android P 的设备,设置此标志可能会使企业密钥容易受到攻击。如果任何应用具有 CERT_SELECTION 委托范围,此值将不起作用。

encryptionPolicy

enum (EncryptionPolicy)

加密是否已启用

usbMassStorageEnabled
(deprecated)

boolean

是否启用了 USB 存储设备。已弃用。

permissionGrants[]

object (PermissionGrant)

针对所有应用的明确权限或群组授予/拒绝。这些值会替换 default_permission_policy

playStoreMode

enum (PlayStoreMode)

此模式用于控制 Play 商店中可供用户使用的应用,以及从政策中移除应用时设备上的行为。

setupActions[]

object (SetupAction)

在设置过程中需要采取的操作。最多只能指定一项操作。

passwordPolicies[]

object (PasswordRequirements)

密码要求政策。通过在政策中设置 password_scope 字段,可以为工作资料或完全受管设备设置不同的政策。

policyEnforcementRules[]

object (PolicyEnforcementRule)

用于定义特定政策无法应用于设备时的行为的规则

kioskCustomization

object (KioskCustomization)

控制设备在自助服务终端模式下的行为的设置。如需启用自助服务终端模式,请将 kioskCustomLauncherEnabled 设置为 true,或在政策中指定应用,并使用 installType KIOSK

advancedSecurityOverrides

object (AdvancedSecurityOverrides)

高级安全设置。在大多数情况下,无需设置这些属性。

personalUsagePolicies

object (PersonalUsagePolicies)

用于管理公司自有设备上的个人用途的政策。

autoDateAndTimeZone

enum (AutoDateAndTimeZone)

公司自有设备上是否启用了自动确定日期、时间和时区功能。如果设置了此参数,则会忽略 autoTimeRequired

oncCertificateProviders[]

object (OncCertificateProvider)

此功能尚未正式发布。

crossProfilePolicies

object (CrossProfilePolicies)

设备上应用的跨个人资料政策。

preferentialNetworkService

enum (PreferentialNetworkService)

控制是否在工作资料或完全受管理的设备上启用优先网络服务。例如,某组织可能与运营商达成协议,规定员工设备中的所有工作数据都将通过专供企业使用的网络服务发送。受支持的优选网络服务的一个示例是 5G 网络上的企业切片。如果搭载 Android 13 或更高版本的设备上设置了 preferentialNetworkServiceSettingsApplicationPolicy.preferentialNetworkId,此政策将不会产生任何影响。

usageLog

object (UsageLog)

设备活动日志记录的配置。

cameraAccess

enum (CameraAccess)

控制相机的使用情况以及用户是否可以访问相机访问权限切换开关。

microphoneAccess

enum (MicrophoneAccess)

控制麦克风的使用,以及用户是否可以访问麦克风使用权切换开关。此设置仅适用于全代管式设备。

deviceConnectivityManagement

object (DeviceConnectivityManagement)

涵盖设备连接的控制,例如 Wi-Fi、USB 数据访问、键盘/鼠标连接等。

deviceRadioState

object (DeviceRadioState)

涵盖了无线状态(例如 Wi-Fi、蓝牙等)的控制。

credentialProviderPolicyDefault

enum (CredentialProviderPolicyDefault)

控制哪些应用可以在 Android 14 及更高版本上充当凭据提供程序。这些应用会存储凭据,如需了解详情,请参阅这篇文章这篇文章。另请参阅 credentialProviderPolicy

printingPolicy

enum (PrintingPolicy)

可选。控制是否允许打印。搭载 Android 9 及更高版本的设备支持此功能。。

displaySettings

object (DisplaySettings)

可选。显示设置的控件。

assistContentPolicy

enum (AssistContentPolicy)

可选。控制是否允许将 AssistContent 发送到特权应用(例如辅助应用)。AssistContent 包括屏幕截图和有关应用的信息(例如软件包名称)。Android 15 及更高版本支持此功能。

workAccountSetupConfig

object (WorkAccountSetupConfig)

可选。控制工作账号设置配置,例如是否需要经过 Google 身份验证的账号。

wipeDataFlags[]

enum (WipeDataFlag)

可选。擦除标志,用于指示因任何原因(例如不合规)触发设备或个人资料擦除时要擦除哪些数据。此属性不适用于 enterprises.devices.delete 方法。。此列表不得包含重复项。

enterpriseDisplayNameVisibility

enum (EnterpriseDisplayNameVisibility)

可选。控制 enterpriseDisplayName 是否在设备上显示(例如公司自有设备上的锁定屏幕消息)。

appFunctions

enum (AppFunctions)

可选。控制是否允许完全受管理的设备上的应用或具有工作资料的设备上的工作资料中的应用公开应用功能。

defaultApplicationSettings[]

object (DefaultApplicationSetting)

可选。受支持类型的默认应用设置。如果成功为个人资料中的至少一种应用类型设置了默认应用,则系统会阻止用户更改该个人资料中的任何默认应用。

每个 DefaultApplicationType 只能有一个 DefaultApplicationSetting

如需了解详情,请参阅默认应用设置指南。

ApplicationPolicy

JSON 表示法
{
  "packageName": string,
  "installType": enum (InstallType),
  "lockTaskAllowed": boolean,
  "defaultPermissionPolicy": enum (PermissionPolicy),
  "permissionGrants": [
    {
      object (PermissionGrant)
    }
  ],
  "managedConfiguration": {
    object
  },
  "disabled": boolean,
  "minimumVersionCode": integer,
  "delegatedScopes": [
    enum (DelegatedScope)
  ],
  "managedConfigurationTemplate": {
    object (ManagedConfigurationTemplate)
  },
  "accessibleTrackIds": [
    string
  ],
  "connectedWorkAndPersonalApp": enum (ConnectedWorkAndPersonalApp),
  "autoUpdateMode": enum (AutoUpdateMode),
  "extensionConfig": {
    object (ExtensionConfig)
  },
  "alwaysOnVpnLockdownExemption": enum (AlwaysOnVpnLockdownExemption),
  "workProfileWidgets": enum (WorkProfileWidgets),
  "credentialProviderPolicy": enum (CredentialProviderPolicy),
  "customAppConfig": {
    object (CustomAppConfig)
  },
  "installConstraint": [
    {
      object (InstallConstraint)
    }
  ],
  "installPriority": integer,
  "userControlSettings": enum (UserControlSettings),
  "preferentialNetworkId": enum (PreferentialNetworkId),
  "signingKeyCerts": [
    {
      object (ApplicationSigningKeyCert)
    }
  ],
  "roles": [
    {
      object (Role)
    }
  ]
}
字段
packageName

string

应用的软件包名称。例如,YouTube 应用的软件包名称为 com.google.android.youtube

installType

enum (InstallType)

要执行的安装类型。

lockTaskAllowed
(deprecated)

boolean

应用是否可以锁定为全屏模式。已弃用。使用 InstallType KIOSKkioskCustomLauncherEnabled 配置专用设备。

defaultPermissionPolicy

enum (PermissionPolicy)

应用请求的所有权限的默认政策。如果指定,此设置会覆盖适用于所有应用的政策级 default_permission_policy。它不会替换适用于所有应用的 permission_grants

permissionGrants[]

object (PermissionGrant)

针对应用的明确权限授予或拒绝。这些值会替换适用于所有应用的 default_permission_policypermission_grants

managedConfiguration

object (Struct format)

应用于应用的受管配置。配置的格式由应用支持的 ManagedProperty 值决定。受管配置中的每个字段名称都必须与 ManagedPropertykey 字段匹配。字段值必须与 ManagedPropertytype 兼容:

typeJSON 值
BOOLtruefalse
STRING字符串
INTEGER数值
CHOICE字符串
MULTISELECT字符串数组
HIDDEN字符串
BUNDLE_ARRAY对象数组
注意:字符串值不得超过 65,535 个字符。

disabled

boolean

应用是否已停用。停用后,应用数据仍会保留。

minimumVersionCode

integer

设备上运行的应用的最低版本。如果设置了此值,设备会尝试将应用更新到至少此版本号。如果应用不是最新版本,设备将包含一个 NonComplianceDetail,并将 non_compliance_reason 设置为 APP_NOT_UPDATED。应用必须已发布到 Google Play,且版本代码大于或等于此值。每项政策最多可指定 20 个应用的最低版本代码。

delegatedScopes[]

enum (DelegatedScope)

从 Android Device Policy 委托给应用的范围。这些权限可为应用提供额外的特权。

managedConfigurationTemplate

object (ManagedConfigurationTemplate)

应用的托管配置模板,从托管配置 iframe 中保存。如果设置了 managed_configuration,则忽略此字段。

accessibleTrackIds[]

string

企业所属设备可访问的应用轨道 ID 列表。如果该列表包含多个轨道 ID,设备会接收所有可访问轨道中的最新版本。如果该列表不包含任何轨道 ID,则设备只能访问应用的正式版轨道。如需详细了解每个轨道,请参阅 AppTrackInfo

connectedWorkAndPersonalApp

enum (ConnectedWorkAndPersonalApp)

控制应用是否可以在设备的工作资料和个人资料之间相互通信,但需征得用户同意。

autoUpdateMode

enum (AutoUpdateMode)

控制应用的自动更新模式。

extensionConfig
(deprecated)

object (ExtensionConfig)

用于将此应用配置为扩展应用,使其能够离线与 Android 设备政策互动。

此字段最多只能针对一个应用进行设置。如果有任何应用具有 COMPANION_APP 角色,则无法设置此字段。

设备上应用的签名密钥证书指纹必须与 ApplicationPolicy.signingKeyCertsExtensionConfig.signingKeyFingerprintsSha256(已弃用)中的某个条目相匹配,或者与从 Play 商店获取的签名密钥证书指纹相匹配,这样应用才能与 Android Device Policy 通信。如果应用不在 Play 商店中,并且未设置 ApplicationPolicy.signingKeyCertsExtensionConfig.signingKeyFingerprintsSha256(已弃用),则会报告包含 INVALID_VALUENonComplianceDetail

alwaysOnVpnLockdownExemption

enum (AlwaysOnVpnLockdownExemption)

指定在未连接 VPN 且 alwaysOnVpnPackage.lockdownEnabled 处于启用状态时,是否允许应用联网。如果设置为 VPN_LOCKDOWN_ENFORCED,则不允许应用联网;如果设置为 VPN_LOCKDOWN_EXEMPTION,则允许应用联网。仅在搭载 Android 10 及更高版本的设备上受支持。如果设备不支持此功能,则设备将包含一个 NonComplianceDetail,其中 non_compliance_reason 设置为 API_LEVEL,并包含一个 fieldPath。如果此属性不适用于相应应用,设备将包含一个 NonComplianceDetail,其中 non_compliance_reason 设置为 UNSUPPORTED,并包含一个 fieldPath。fieldPath 设置为 applications[i].alwaysOnVpnLockdownExemption,其中 iapplications 政策中软件包的索引。

workProfileWidgets

enum (WorkProfileWidgets)

指定工作资料中安装的应用是否可以向主屏幕添加 widget。

credentialProviderPolicy

enum (CredentialProviderPolicy)

可选。应用是否可以在 Android 14 及更高版本上充当凭据提供程序。

customAppConfig

object (CustomAppConfig)

可选。相应自定义应用的配置。

必须将 install_type 设置为 CUSTOM,才能设置此字段。

installConstraint[]

object (InstallConstraint)

可选。安装应用的限制条件。您最多可以指定一个 InstallConstraint。多个限制条件被拒绝。

installPriority

integer

可选。在将 installType 设置为以下值的应用中:

  • FORCE_INSTALLED
  • PREINSTALLED

此属性用于控制安装的相对优先级。值为 0(默认值)表示此应用不比其他应用具有更高的优先级。对于介于 1 到 10,000 之间的值,值越小,优先级越高。超出 0 到 10,000(含)范围的值将被拒绝。

userControlSettings

enum (UserControlSettings)

可选。指定是否允许用户控制应用。用户控制包括强行停止和清除应用数据等用户操作。某些类型的应用会受到特殊处理,详情请参阅 USER_CONTROL_SETTINGS_UNSPECIFIEDUSER_CONTROL_ALLOWED

preferentialNetworkId

enum (PreferentialNetworkId)

可选。应用使用的优惠网络的 ID。preferentialNetworkServiceConfigs 中必须存在指定网络 ID 的配置。如果设置为 PREFERENTIAL_NETWORK_ID_UNSPECIFIED,应用将使用 defaultPreferentialNetworkId 中指定的默认网络 ID。如需查看不采用此默认设置的应用列表,请参阅 defaultPreferentialNetworkId 的文档。此方法适用于 Android 13 及更高版本上的工作资料和完全受管设备。

signingKeyCerts[]

object (ApplicationSigningKeyCert)

可选。应用的签名密钥证书。

在以下情况下,此字段是必需的:

  • 应用的 installType 设置为 CUSTOM (即自定义应用)。
  • 应用已将 roles 设置为非空列表,但该应用在 Play 商店中不存在。
  • 应用已设置 extensionConfig(即扩展应用),但未设置 ExtensionConfig.signingKeyFingerprintsSha256(已弃用),且应用在 Play 商店中不存在。

如果未为自定义应用设置此字段,系统会拒绝该政策。如果非自定义应用在需要时未设置此值,系统会报告 NonComplianceDetail 并显示 INVALID_VALUE

在其他情况下,此字段是可选的,系统会使用从 Play 商店获取的签名密钥证书。

请参阅以下政策设置,了解此字段的用途:

  • choosePrivateKeyRules
  • ApplicationPolicy.InstallType.CUSTOM
  • ApplicationPolicy.extensionConfig
  • ApplicationPolicy.roles
roles[]

object (Role)

可选。应用所具有的角色。

在 Android 14 及更高版本中,具有某些角色的应用可以免受电源和后台执行限制、暂停和休眠的限制。在 Android 11 及更高版本中,还可以禁止具有某些角色的应用使用用户控件。如需了解详情,请参阅各个 RoleType 的文档。

如果应用具有 <meta-data android:name="com.google.android.managementapi.notification.NotificationReceiverService.SERVICE_APP_ROLES" android:value="" /> 的通知接收器服务,则会收到有关为其设置的角色的通知。每当应用的任何角色更新时,或者在应用安装后(如果应用的角色列表不为空),系统都会通知该应用。应用可以使用此通知在安装后自行启动。如需详细了解该服务的相关要求,请参阅与 AMAPI SDK 集成管理应用角色指南。

为了应用豁免并通知应用有关角色,设备上应用的签名密钥证书指纹必须与从 Play 商店获得的签名密钥证书指纹之一或 ApplicationPolicy.signingKeyCerts 中的条目之一相匹配。否则,系统会报告 APP_SIGNING_CERT_MISMATCHNonComplianceDetail

不得有具有相同 roleType 的重复角色。多个应用不能持有具有相同 roleType 的角色。不允许使用类型为 ROLE_TYPE_UNSPECIFIED 的角色。

PermissionGrant

JSON 表示法
{
  "permission": string,
  "policy": enum (PermissionPolicy)
}
字段
permission

string

Android 权限或群组,例如 android.permission.READ_CALENDARandroid.permission_group.CALENDAR

policy

enum (PermissionPolicy)

授予相应权限的政策。

结构体

JSON 表示法
{
  "fields": {
    string: value,
    ...
  }
}
字段
fields

map (key: string, value: value (Value format))

无序的动态类型值映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表示法
{
  "key": string,
  "value": value
}
字段
key

string

value

value (Value format)

JSON 表示法
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
字段
联合字段 kind。值的类型。kind 只能是下列其中一项:
nullValue

null

表示 null 值。

numberValue

number

表示双精度值。

stringValue

string

表示字符串值。

boolValue

boolean

表示布尔值。

structValue

object (Struct format)

表示结构化值。

listValue

array (ListValue format)

表示重复的 Value

ListValue

JSON 表示法
{
  "values": [
    value
  ]
}
字段
values[]

value (Value format)

动态类型值的重复字段。

ManagedConfigurationTemplate

JSON 表示法
{
  "templateId": string,
  "configurationVariables": {
    string: string,
    ...
  }
}
字段
templateId

string

受管理的配置模板的 ID。

configurationVariables

map (key: string, value: string)

可选,一个包含为配置定义的 <键,值> 配置变量的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

ConfigurationVariablesEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

ExtensionConfig

JSON 表示法
{
  "signingKeyFingerprintsSha256": [
    string
  ],
  "notificationReceiver": string
}
字段
signingKeyFingerprintsSha256[]
(deprecated)

string

扩展应用签名密钥证书的十六进制编码 SHA-256 哈希值。只有 64 个字符的十六进制字符串表示形式有效。

签名密钥证书指纹始终从 Play 商店获取,此字段用于提供额外的签名密钥证书指纹。不过,如果应用未在 Play 商店中发布,则需要设置此字段。如果应用未在 Play 商店中上架,但未设置此字段,系统会报告 INVALID_VALUENonComplianceDetail

设备上扩展应用所用签名密钥证书的指纹必须与从 Play 商店获取的签名密钥证书指纹之一相符,或者与此字段中提供的指纹之一相符,这样应用才能与 Android 设备政策进行通信。

在生产用例中,建议将此字段留空。

notificationReceiver
(deprecated)

string

接收器服务类的完全限定类名称,用于让 Android Device Policy 向扩展应用通知任何本地命令状态更新。该服务必须在扩展应用中导出,并扩展 NotificationReceiverService(如需了解详情,请参阅与 AMAPI SDK 集成指南)。AndroidManifest.xml

CustomAppConfig

JSON 表示法
{
  "userUninstallSettings": enum (UserUninstallSettings)
}
字段
userUninstallSettings

enum (UserUninstallSettings)

可选。自定义应用的用户卸载设置。

InstallConstraint

JSON 表示法
{
  "networkTypeConstraint": enum (NetworkTypeConstraint),
  "chargingConstraint": enum (ChargingConstraint),
  "deviceIdleConstraint": enum (DeviceIdleConstraint)
}
字段
networkTypeConstraint

enum (NetworkTypeConstraint)

可选。网络类型限制。

chargingConstraint

enum (ChargingConstraint)

可选。充电限制。

deviceIdleConstraint

enum (DeviceIdleConstraint)

可选。设备空闲状态限制。

ApplicationSigningKeyCert

JSON 表示法
{
  "signingKeyCertFingerprintSha256": string
}
字段
signingKeyCertFingerprintSha256

string (bytes format)

必需。应用的签名密钥证书的 SHA-256 哈希值。此值必须是有效的 SHA-256 哈希值,即 32 字节。否则,系统会拒绝该政策。

使用 base64 编码的字符串。

角色

JSON 表示法
{
  "roleType": enum (RoleType)
}
字段
roleType

enum (RoleType)

必需。应用可拥有的角色类型。

PersistentPreferredActivity

JSON 表示法
{
  "receiverActivity": string,
  "actions": [
    string
  ],
  "categories": [
    string
  ]
}
字段
receiverActivity

string

应作为默认 intent 处理程序的 activity。这应是 Android 组件名称,例如 com.android.enterprise.app/.MainActivity。或者,该值也可以是应用的软件包名称,这会导致 Android 设备政策从应用中选择合适的 activity 来处理 intent。

actions[]

string

要在过滤器中匹配的 intent 操作。如果过滤条件中包含任何操作,则 intent 的操作必须是这些值之一才能匹配。如果未包含任何操作,则忽略 intent 操作。

categories[]

string

要在过滤器中匹配的 intent 类别。intent 包含其所需的所有类别,所有这些类别都必须包含在过滤器中才能匹配。换句话说,除非 intent 中指定了某个类别,否则向过滤器添加该类别不会对匹配产生任何影响。

SystemUpdate

JSON 表示法
{
  "type": enum (SystemUpdateType),
  "startMinutes": integer,
  "endMinutes": integer,
  "allowedDaysWithoutUpdate": integer,
  "freezePeriods": [
    {
      object (FreezePeriod)
    }
  ]
}
字段
type

enum (SystemUpdateType)

要配置的系统更新类型。

startMinutes

integer

如果类型为 WINDOWED,则表示维护窗口的开始时间,以设备本地时间午夜后的分钟数来衡量。此值必须介于 0 到 1439 之间(含边界值)。

endMinutes

integer

如果类型为 WINDOWED,则表示维护窗口的结束时间,以设备本地时间午夜后的分钟数来衡量。此值必须介于 0 到 1439 之间(含)。如果此值小于 start_minutes,则维护窗口会跨越午夜。如果指定的维护窗口小于 30 分钟,则实际窗口会延长到开始时间后的 30 分钟。

allowedDaysWithoutUpdate

integer

如果此值大于零,则表示在待更新变为可用状态后,设备在不接受更新的情况下仍可保持合规的天数。否则不会产生任何影响。

freezePeriods[]

object (FreezePeriod)

每年重复出现的时间段,在此期间,无线下载 (OTA) 系统更新会被推迟,以冻结设备上运行的操作系统版本。为防止设备无限期冻结,每次冻结期之间必须间隔至少 60 天。

FreezePeriod

JSON 表示法
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
字段
startDate

object (Date)

冻结期的开始日期(含)。注意:必须设置 daymonth。不应设置 year,因为该属性不会被使用。例如 {"month": 1,"date": 30}

endDate

object (Date)

冻结期的结束日期(含此日期)。不得晚于开始日期后的 90 天。如果结束日期早于开始日期,则冻结期被视为跨年。注意:必须设置 daymonth。不应设置 year,因为该属性不会被使用。例如 {"month": 1,"date": 30}

日期

JSON 表示法
{
  "year": integer,
  "month": integer,
  "day": integer
}
字段
year

integer

日期中的年份。必须介于 1 到 9999 之间,或为 0(即指定不含年份的日期)。

month

integer

一年中的第几个月。必须介于 1 到 12 之间,或为 0(即只指定年份,不指定月份和天值)。

day

integer

一个月中的第几天。必须介于 1 到 31 之间并且对年份和月份有效,或为 0(即天不重要,指定单独的年份或者年份和月份)。

StatusReportingSettings

JSON 表示法
{
  "applicationReportsEnabled": boolean,
  "deviceSettingsEnabled": boolean,
  "softwareInfoEnabled": boolean,
  "memoryInfoEnabled": boolean,
  "networkInfoEnabled": boolean,
  "displayInfoEnabled": boolean,
  "powerManagementEventsEnabled": boolean,
  "hardwareStatusEnabled": boolean,
  "systemPropertiesEnabled": boolean,
  "applicationReportingSettings": {
    object (ApplicationReportingSettings)
  },
  "commonCriteriaModeEnabled": boolean,
  "defaultApplicationInfoReportingEnabled": boolean
}
字段
applicationReportsEnabled

boolean

是否启用了应用报告

deviceSettingsEnabled

boolean

是否启用设备设置报告。

softwareInfoEnabled

boolean

是否启用了软件信息报告。

memoryInfoEnabled

boolean

是否启用了内存事件报告。

networkInfoEnabled

boolean

是否已启用网络信息报告。

displayInfoEnabled

boolean

是否启用了展示报告。报告数据不适用于设置了工作资料的个人自有设备。

powerManagementEventsEnabled

boolean

是否启用了电源管理事件报告功能。报告数据不适用于设置了工作资料的个人自有设备。

hardwareStatusEnabled

boolean

是否启用硬件状态报告。报告数据不适用于设置了工作资料的个人自有设备。

systemPropertiesEnabled

boolean

系统属性报告是否已启用。

applicationReportingSettings

object (ApplicationReportingSettings)

应用报告设置。仅在 application_reports_enabled 为 true 时适用。

commonCriteriaModeEnabled

boolean

是否启用了 Common Criteria Mode 报告。只有公司自有设备支持此设置。

defaultApplicationInfoReportingEnabled

boolean

可选。是否启用了 defaultApplicationInfo 报告。

ApplicationReportingSettings

JSON 表示法
{
  "includeRemovedApps": boolean
}
字段
includeRemovedApps

boolean

是否在应用报告中包含已移除的应用。

UserFacingMessage

JSON 表示法
{
  "localizedMessages": {
    string: string,
    ...
  },
  "defaultMessage": string
}
字段
localizedMessages

map (key: string, value: string)

一个包含 <语言区域设置,消息> 对的映射,其中语言区域设置是格式正确的 BCP 47 语言代码,例如 en-US、es-ES 或 fr。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

defaultMessage

string

如果未指定任何本地化消息,或者用户的语言区域与任何本地化消息都不匹配,则显示的默认消息。如果提供了任何本地化消息,则必须提供默认消息。

LocalizedMessagesEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

PasswordRequirements

JSON 表示法
{
  "passwordMinimumLength": integer,
  "passwordMinimumLetters": integer,
  "passwordMinimumLowerCase": integer,
  "passwordMinimumNonLetter": integer,
  "passwordMinimumNumeric": integer,
  "passwordMinimumSymbols": integer,
  "passwordMinimumUpperCase": integer,
  "passwordQuality": enum (PasswordQuality),
  "passwordHistoryLength": integer,
  "maximumFailedPasswordsForWipe": integer,
  "passwordExpirationTimeout": string,
  "passwordScope": enum (PasswordPolicyScope),
  "requirePasswordUnlock": enum (RequirePasswordUnlock),
  "unifiedLockSettings": enum (UnifiedLockSettings)
}
字段
passwordMinimumLength

integer

允许的最小密码长度。值为 0 表示没有限制。仅当 password_qualityNUMERICNUMERIC_COMPLEXALPHABETICALPHANUMERICCOMPLEX 时强制执行。

passwordMinimumLetters

integer

密码中要求的最小字母数。仅在 password_qualityCOMPLEX 时强制执行。

passwordMinimumLowerCase

integer

密码中要求的最少小写字母数。仅在 password_qualityCOMPLEX 时强制执行。

passwordMinimumNonLetter

integer

密码中要求的最少非字母字符数(数字或符号)。仅在 password_qualityCOMPLEX 时强制执行。

passwordMinimumNumeric

integer

密码中要求的最少数字位数。仅在 password_qualityCOMPLEX 时强制执行。

passwordMinimumSymbols

integer

密码中要求的最少符号数。仅在 password_qualityCOMPLEX 时强制执行。

passwordMinimumUpperCase

integer

密码中要求的最少大写字母数。仅在 password_qualityCOMPLEX 时强制执行。

passwordQuality

enum (PasswordQuality)

所需的密码质量。

passwordHistoryLength

integer

密码历史记录的长度。设置此字段后,用户将无法输入与历史记录中的任何密码相同的新密码。值为 0 表示没有限制。

maximumFailedPasswordsForWipe

integer

在设备被擦除之前,可以输入的错误设备解锁密码的次数。值为 0 表示没有限制。

passwordExpirationTimeout

string (Duration format)

密码过期超时时间。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

passwordScope

enum (PasswordPolicyScope)

密码要求适用的范围。

requirePasswordUnlock

enum (RequirePasswordUnlock)

使用加强型身份验证方式(密码、PIN 码、解锁图案)解锁设备或工作资料后,可以使用任何其他身份验证方式(例如指纹、可信代理、人脸)解锁设备或工作资料的时间长度。在指定时间段过后,只能使用加强型身份验证方式解锁设备或工作资料。

unifiedLockSettings

enum (UnifiedLockSettings)

控制在搭载 Android 9 及更高版本且具有工作资料的设备上,是否允许为设备和工作资料使用统一的锁定方式。只有当 password_scope 设置为 SCOPE_PROFILE 时才能设置此项,否则系统会拒绝该政策。如果用户未设置单独的工作锁,且此字段设置为 REQUIRE_SEPARATE_WORK_LOCK,则系统会报告 NonComplianceDetail,并将 nonComplianceReason 设置为 USER_ACTION

时长

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

时间段的带符号秒数。必须介于 -315,576,000,000 到 +315,576,000,000 之间(含边界值)。注意:这些界限是通过以下计算得出的:60 秒/分钟 * 60 分钟/小时 * 24 小时/天 * 365.25 天/年 * 10000 年

nanos

integer

时间跨度的有符号秒数小数部分(以纳秒为单位)。小于 1 秒的时长用 0 seconds 字段和正或负 nanos 字段表示。对于时长为 1 秒或更长时间的情况,nanos 字段的非零值必须与 seconds 字段的符号相同。必须介于 -999,999,999 到 +999,999,999 之间(含边界值)。

PackageNameList

JSON 表示法
{
  "packageNames": [
    string
  ]
}
字段
packageNames[]

string

软件包名称列表。

ProxyInfo

JSON 表示法
{
  "host": string,
  "port": integer,
  "excludedHosts": [
    string
  ],
  "pacUri": string
}
字段
host

string

直接代理的主机。

port

integer

直接代理的端口。

excludedHosts[]

string

对于直接代理,绕过代理的主机。主机名可以包含通配符,例如 *.example.com。

pacUri

string

用于配置代理的 PAC 脚本的 URI。

ChoosePrivateKeyRule

JSON 表示法
{
  "urlPattern": string,
  "packageNames": [
    string
  ],
  "privateKeyAlias": string
}
字段
urlPattern

string

要与请求的网址进行匹配的网址格式。如果未设置或为空,则匹配所有网址。此字段使用 java.util.regex.Pattern 的正则表达式语法。

packageNames[]

string

此规则所适用的软件包名称。系统会根据 Play 商店和 ApplicationPolicy.signingKeyCerts 提供的签名密钥证书指纹验证应用的签名密钥证书指纹。如果未指定任何软件包名称,则别名会提供给调用 KeyChain.choosePrivateKeyAlias 或任何重载的所有应用(但即使在 Android 11 及更高版本上,也必须调用 KeyChain.choosePrivateKeyAlias)。如果某个应用的 Android UID 与此处指定的软件包相同,则该应用在调用 KeyChain.choosePrivateKeyAlias 时将具有访问权限。

privateKeyAlias

string

要使用的私钥的别名。

AlwaysOnVpnPackage

JSON 表示法
{
  "packageName": string,
  "lockdownEnabled": boolean
}
字段
packageName

string

VPN 应用的软件包名称。

lockdownEnabled

boolean

不允许在 VPN 未连接时进行联网。

ComplianceRule

JSON 表示法
{
  "disableApps": boolean,
  "packageNamesToDisable": [
    string
  ],

  // Union field condition can be only one of the following:
  "nonComplianceDetailCondition": {
    object (NonComplianceDetailCondition)
  },
  "apiLevelCondition": {
    object (ApiLevelCondition)
  }
  // End of list of possible types for union field condition.
}
字段
disableApps

boolean

如果设置为 true,则规则包含用于停用应用的缓解措施,以便有效停用设备,但保留应用数据。如果设备在锁定任务模式下运行应用,系统将关闭该应用,并显示说明不合规原因的界面。

packageNamesToDisable[]

string

如果设置,规则会包含一项缓解措施,用于停用列表中指定的应用,但应用数据会保留。

联合字段 condition。条件,满足该条件时会触发规则中定义的缓解措施。必须设置其中一个条件。condition 只能是下列其中一项:
nonComplianceDetailCondition

object (NonComplianceDetailCondition)

如果设备存在任何匹配的 NonComplianceDetail,则满足相应条件。

apiLevelCondition

object (ApiLevelCondition)

一种条件,如果设备上的 Android 框架 API 级别不满足最低要求,则满足该条件。

NonComplianceDetailCondition

JSON 表示法
{
  "settingName": string,
  "nonComplianceReason": enum (NonComplianceReason),
  "packageName": string
}
字段
settingName

string

政策设置的名称。这是顶级 Policy 字段的 JSON 字段名称。如果未设置,则此条件与任何设置名称都匹配。

nonComplianceReason

enum (NonComplianceReason)

设备不符合相应设置的原因。如果未设置,则此条件与任何原因都匹配。

packageName

string

不合规应用的软件包名称。如果未设置,则此条件与任何软件包名称都匹配。

ApiLevelCondition

JSON 表示法
{
  "minApiLevel": integer
}
字段
minApiLevel

integer

所需的最低 Android 框架 API 级别。如果设备不符合最低要求,则满足此条件。必须大于零。

SetupAction

JSON 表示法
{
  "title": {
    object (UserFacingMessage)
  },
  "description": {
    object (UserFacingMessage)
  },

  // Union field action can be only one of the following:
  "launchApp": {
    object (LaunchAppAction)
  }
  // End of list of possible types for union field action.
}
字段
title

object (UserFacingMessage)

相应操作的标题。

description

object (UserFacingMessage)

相应操作的说明。

联合字段 action。在设置期间要执行的操作。action 只能是下列其中一项:
launchApp

object (LaunchAppAction)

用于启动应用的操作。系统将使用包含 extra 的 intent 启动应用,该 extra 的键 com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION 设置为布尔值 true,以表明这是一个设置操作流程。如果 SetupAction 引用了某个应用,则应用政策中对应的 installType 必须设置为 REQUIRED_FOR_SETUP,否则相应设置会失败。

LaunchAppAction

JSON 表示法
{

  // Union field launch can be only one of the following:
  "packageName": string
  // End of list of possible types for union field launch.
}
字段

联合字段 launch

launch 只能是下列其中一项:

packageName

string

要启动的应用的软件包名称

PolicyEnforcementRule

JSON 表示法
{
  "blockAction": {
    object (BlockAction)
  },
  "wipeAction": {
    object (WipeAction)
  },

  // Union field trigger can be only one of the following:
  "settingName": string
  // End of list of possible types for union field trigger.
}
字段
blockAction

object (BlockAction)

用于阻止对公司自有设备或工作资料中的应用和数据的访问的操作。此操作还会触发面向用户的通知,其中包含有关如何修正违规问题的信息(如果可能)。注意:还必须指定 wipeAction

wipeAction

object (WipeAction)

用于重置公司自有设备或删除工作资料的操作。注意:还必须指定 blockAction

联合字段 trigger。触发相应规则的条件。trigger 只能是下列其中一项:
settingName

string

要强制执行的顶级政策。例如,applicationspasswordPolicies

BlockAction

JSON 表示法
{
  "blockAfterDays": integer,
  "blockScope": enum (BlockScope)
}
字段
blockAfterDays

integer

在设备或工作资料被屏蔽之前,政策处于不合规状态的天数。如需立即阻止访问,请设置为 0。blockAfterDays 必须小于 wipeAfterDays

blockScope

enum (BlockScope)

指定相应 BlockAction 的范围。仅适用于公司自有设备。

WipeAction

JSON 表示法
{
  "wipeAfterDays": integer,
  "preserveFrp": boolean
}
字段
wipeAfterDays

integer

设备或工作资料在违规多少天后会被擦除。wipeAfterDays 必须大于 blockAfterDays

preserveFrp

boolean

设备上是否保留了恢复出厂设置保护机制数据。此设置不适用于工作资料。

KioskCustomization

JSON 表示法
{
  "powerButtonActions": enum (PowerButtonActions),
  "systemErrorWarnings": enum (SystemErrorWarnings),
  "systemNavigation": enum (SystemNavigation),
  "statusBar": enum (StatusBar),
  "deviceSettings": enum (DeviceSettings)
}
字段
powerButtonActions

enum (PowerButtonActions)

设置设备在信息亭模式下,当用户按住(长按)电源按钮时的行为。

systemErrorWarnings

enum (SystemErrorWarnings)

指定在自助服务终端模式下是否屏蔽崩溃或无响应应用的系统错误对话框。如果应用被屏蔽,系统会强制停止该应用,就像用户在界面上选择“关闭应用”选项一样。

systemNavigation

enum (SystemNavigation)

指定在自助服务终端模式下启用哪些导航功能(例如“主屏幕”按钮、“概览”按钮)。

statusBar

enum (StatusBar)

指定在自助服务终端模式下是否停用系统信息和通知。

deviceSettings

enum (DeviceSettings)

指定是否允许在自助服务终端模式下使用“设置”应用。

AdvancedSecurityOverrides

JSON 表示法
{
  "untrustedAppsPolicy": enum (UntrustedAppsPolicy),
  "googlePlayProtectVerifyApps": enum (GooglePlayProtectVerifyApps),
  "developerSettings": enum (DeveloperSettings),
  "commonCriteriaMode": enum (CommonCriteriaMode),
  "personalAppsThatCanReadWorkNotifications": [
    string
  ],
  "mtePolicy": enum (MtePolicy),
  "contentProtectionPolicy": enum (ContentProtectionPolicy)
}
字段
untrustedAppsPolicy

enum (UntrustedAppsPolicy)

在设备上强制执行的针对不受信任的应用(来自未知来源的应用)的政策。替换 install_unknown_sources_allowed (deprecated).

googlePlayProtectVerifyApps

enum (GooglePlayProtectVerifyApps)

是否强制执行 Google Play 保护机制验证。取代 ensureVerifyAppsEnabled(已弃用)。

developerSettings

enum (DeveloperSettings)

控制对开发者设置(开发者选项和安全启动)的访问权限。取代 safeBootDisabled(已弃用)和 debuggingFeaturesAllowed(已弃用)。在设有工作资料的个人自有设备上,设置此政策不会停用安全启动。在这种情况下,系统会报告具有 MANAGEMENT_MODENonComplianceDetail

commonCriteriaMode

enum (CommonCriteriaMode)

控制通用准则模式 - 信息技术安全评估通用准则 (CC) 中定义的安全标准。启用通用标准模式可增强设备上某些安全组件的安全性,详情请参阅 CommonCriteriaMode

警告:通用评估准则模式会强制执行严格的安全模型,通常仅适用于国家安全系统和其他高度敏感的组织中使用的 IT 产品。标准设备使用可能会受到影响。仅在需要时启用。如果之前已启用通用准则模式,但之后又将其关闭,则所有用户配置的 Wi-Fi 网络可能会丢失,并且任何需要用户输入的企业配置的 Wi-Fi 网络可能都需要重新配置。

personalAppsThatCanReadWorkNotifications[]

string

可以使用 NotificationListenerService 读取工作资料通知的个人应用。默认情况下,除了系统应用之外,任何个人应用都无法读取工作通知。列表中的每个值都必须是软件包名称。

mtePolicy

enum (MtePolicy)

可选。控制设备上的 Memory Tagging Extension (MTE)。设备需要重新启动才能应用对 MTE 政策的更改。在 Android 15 及更高版本中,如果政策变更正在等待设备重启,则会报告 PENDINGNonComplianceDetail 的情况。

contentProtectionPolicy

enum (ContentProtectionPolicy)

可选。控制是否启用内容保护功能(该功能会扫描欺骗性应用)。Android 15 及更高版本支持此功能。

PersonalUsagePolicies

JSON 表示法
{
  "cameraDisabled": boolean,
  "screenCaptureDisabled": boolean,
  "accountTypesWithManagementDisabled": [
    string
  ],
  "maxDaysWithWorkOff": integer,
  "personalPlayStoreMode": enum (PlayStoreMode),
  "personalApplications": [
    {
      object (PersonalApplicationPolicy)
    }
  ],
  "privateSpacePolicy": enum (PrivateSpacePolicy),
  "bluetoothSharing": enum (BluetoothSharing)
}
字段
cameraDisabled

boolean

如果为 true,则表示在个人资料中停用相机。

screenCaptureDisabled

boolean

如果为 true,则禁止所有用户截屏。

accountTypesWithManagementDisabled[]

string

无法由用户管理的账号类型。

maxDaysWithWorkOff

integer

控制工作资料可以保持关闭状态的时间。最短时长必须至少为 3 天。其他详细信息如下:

  • 如果将时长设置为 0,则该功能会关闭。
  • 如果将时长设置为小于最短时长的值,该功能会返回错误。
注意:如果您想避免个人资料在长时间的非工作时间被暂停,可以暂时为此参数设置一个较大的值。

personalPlayStoreMode

enum (PlayStoreMode)

personalApplications 一起使用,用于控制个人资料中的应用是被允许还是被屏蔽。

personalApplications[]

object (PersonalApplicationPolicy)

应用于个人资料中应用的政策。

privateSpacePolicy

enum (PrivateSpacePolicy)

可选。控制是否允许在设备上使用私密空间。

bluetoothSharing

enum (BluetoothSharing)

可选。是否允许蓝牙共享。

PersonalApplicationPolicy

JSON 表示法
{
  "packageName": string,
  "installType": enum (InstallType)
}
字段
packageName

string

应用的软件包名称。

installType

enum (InstallType)

要执行的安装类型。

OncCertificateProvider

JSON 表示法
{
  "certificateReferences": [
    string
  ],

  // Union field endpoint can be only one of the following:
  "contentProviderEndpoint": {
    object (ContentProviderEndpoint)
  }
  // End of list of possible types for union field endpoint.
}
字段
certificateReferences[]

string

此功能尚未正式发布。

联合字段 endpoint

此功能尚未正式发布。endpoint 只能是下列其中一项:

contentProviderEndpoint

object (ContentProviderEndpoint)

此功能尚未正式发布。

ContentProviderEndpoint

JSON 表示法
{
  "uri": string,
  "packageName": string,
  "signingCertsSha256": [
    string
  ]
}
字段
uri

string

此功能尚未正式发布。

packageName

string

此功能尚未正式发布。

signingCertsSha256[]

string

必需。此功能尚未正式发布。

CrossProfilePolicies

JSON 表示法
{
  "showWorkContactsInPersonalProfile": enum (ShowWorkContactsInPersonalProfile),
  "crossProfileCopyPaste": enum (CrossProfileCopyPaste),
  "crossProfileDataSharing": enum (CrossProfileDataSharing),
  "workProfileWidgetsDefault": enum (WorkProfileWidgetsDefault),
  "crossProfileAppFunctions": enum (CrossProfileAppFunctions),
  "exemptionsToShowWorkContactsInPersonalProfile": {
    object (PackageNameList)
  }
}
字段
showWorkContactsInPersonalProfile

enum (ShowWorkContactsInPersonalProfile)

个人应用是否可以访问工作资料中存储的联系人。

另请参阅 exemptions_to_show_work_contacts_in_personal_profile

crossProfileCopyPaste

enum (CrossProfileCopyPaste)

从一个个人资料(个人或工作)复制的文本是否可以粘贴到另一个个人资料中。

crossProfileDataSharing

enum (CrossProfileDataSharing)

一个资料(个人或工作)中的数据是否可以与另一个资料中的应用共享。专门控制通过 intent 进行的简单数据共享。其他跨资料通信渠道(例如联系人搜索、复制/粘贴或关联的工作应用和个人应用)的管理功能需单独配置。

workProfileWidgetsDefault

enum (WorkProfileWidgetsDefault)

指定工作资料 widget 的默认行为。如果政策未针对特定应用指定 work_profile_widgets,则会根据此处指定的值运行。

crossProfileAppFunctions

enum (CrossProfileAppFunctions)

可选。控制个人资料应用是否可以调用工作资料中应用公开的应用函数。

exemptionsToShowWorkContactsInPersonalProfile

object (PackageNameList)

ShowWorkContactsInPersonalProfile 设置中排除的应用的列表。若要设置此属性,ShowWorkContactsInPersonalProfile 必须设置为以下值之一:

  • SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED。在这种情况下,这些豁免充当屏蔽名单。
  • SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED。在这种情况下,这些豁免充当许可名单。
  • SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM。在这种情况下,除了已列入许可名单的系统应用之外,这些豁免还充当许可名单。

在 Android 14 及更高版本上受支持。如果 Android 版本低于 14,则报告具有 API_LEVELNonComplianceDetail

UsageLog

JSON 表示法
{
  "enabledLogTypes": [
    enum (LogType)
  ],
  "uploadOnCellularAllowed": [
    enum (LogType)
  ]
}
字段
enabledLogTypes[]

enum (LogType)

指定启用了哪些日志类型。请注意,启用使用情况日志记录功能后,用户会收到设备上的消息。

uploadOnCellularAllowed[]

enum (LogType)

指定哪些已启用的日志类型可以通过移动数据上传。默认情况下,当设备连接到 Wi-Fi 时,日志会排队等待上传。

DeviceConnectivityManagement

JSON 表示法
{
  "usbDataAccess": enum (UsbDataAccess),
  "configureWifi": enum (ConfigureWifi),
  "wifiDirectSettings": enum (WifiDirectSettings),
  "tetheringSettings": enum (TetheringSettings),
  "wifiSsidPolicy": {
    object (WifiSsidPolicy)
  },
  "wifiRoamingPolicy": {
    object (WifiRoamingPolicy)
  },
  "bluetoothSharing": enum (BluetoothSharing),
  "preferentialNetworkServiceSettings": {
    object (PreferentialNetworkServiceSettings)
  },
  "apnPolicy": {
    object (ApnPolicy)
  }
}
字段
usbDataAccess

enum (UsbDataAccess)

控制哪些文件和/或数据可以通过 USB 传输。仅在公司自有设备上受支持。

configureWifi

enum (ConfigureWifi)

控制 Wi-Fi 配置权限。根据设置的选项,用户在配置 Wi-Fi 网络时将拥有完全控制权、有限控制权或无控制权。

wifiDirectSettings

enum (WifiDirectSettings)

控制配置和使用 Wi-Fi Direct 设置。在搭载 Android 13 及更高版本的公司自有设备上受支持。

tetheringSettings

enum (TetheringSettings)

控制网络共享设置。根据设置的值,部分或完全禁止用户使用不同形式的网络共享。

wifiSsidPolicy

object (WifiSsidPolicy)

限制设备可以连接到的 Wi-Fi SSID。请注意,这不会影响可在设备上配置的网络。在搭载 Android 13 及更高版本的公司自有设备上受支持。

wifiRoamingPolicy

object (WifiRoamingPolicy)

可选。Wi-Fi 漫游政策。

bluetoothSharing

enum (BluetoothSharing)

可选。控制是否允许蓝牙共享。

preferentialNetworkServiceSettings

object (PreferentialNetworkServiceSettings)

可选。优先网络服务配置。设置此字段会覆盖 preferentialNetworkService。此设置可在搭载 Android 13 及更高版本的设备上针对工作资料和完全受管设备进行设置。如需了解详情,请参阅 5G 网络切片指南。

apnPolicy

object (ApnPolicy)

可选。接入点名称 (APN) 政策。接入点名称 (APN) 的配置,可能会替换设备上的任何其他 APN。如需了解详情,请参阅 OVERRIDE_APNS_ENABLEDoverrideApns

WifiSsidPolicy

JSON 表示法
{
  "wifiSsidPolicyType": enum (WifiSsidPolicyType),
  "wifiSsids": [
    {
      object (WifiSsid)
    }
  ]
}
字段
wifiSsidPolicyType

enum (WifiSsidPolicyType)

要应用的 Wi-Fi SSID 政策的类型。

wifiSsids[]

object (WifiSsid)

可选。应在政策中应用的 Wi-Fi SSID 列表。当 WifiSsidPolicyType 设置为 WIFI_SSID_ALLOWLIST 时,此字段不得为空。如果此属性设置为非空列表,则当 Android 版本低于 13 时,系统会报告包含 API_LEVELNonComplianceDetail 详细信息;对于非公司自有设备,系统会报告包含 MANAGEMENT_MODENonComplianceDetail

WifiSsid

JSON 表示法
{
  "wifiSsid": string
}
字段
wifiSsid

string

必需。以字符串表示的 Wi-Fi SSID。

WifiRoamingPolicy

JSON 表示法
{
  "wifiRoamingSettings": [
    {
      object (WifiRoamingSetting)
    }
  ]
}
字段
wifiRoamingSettings[]

object (WifiRoamingSetting)

可选。Wi-Fi 漫游设置。此列表中提供的 SSID 必须是唯一的,否则系统会拒绝相应政策。

WifiRoamingSetting

JSON 表示法
{
  "wifiSsid": string,
  "wifiRoamingMode": enum (WifiRoamingMode)
}
字段
wifiSsid

string

必需。Wi-Fi 网络的 SSID。

wifiRoamingMode

enum (WifiRoamingMode)

必需。指定 SSID 的 Wi-Fi 漫游模式。

PreferentialNetworkServiceSettings

JSON 表示法
{
  "preferentialNetworkServiceConfigs": [
    {
      object (PreferentialNetworkServiceConfig)
    }
  ],
  "defaultPreferentialNetworkId": enum (PreferentialNetworkId)
}
字段
preferentialNetworkServiceConfigs[]

object (PreferentialNetworkServiceConfig)

必需。优先网络服务配置,可实现多个企业切片。不得有多个具有相同 preferentialNetworkId 的配置。如果某个配置未通过设置 ApplicationPolicy.preferentialNetworkIddefaultPreferentialNetworkId 被任何应用引用,则会被忽略。对于使用 4G 网络的设备,还需要配置企业 APN,以便设置数据通话以获得优先网络服务。可以使用 apnPolicy 添加这些 APN。

defaultPreferentialNetworkId

enum (PreferentialNetworkId)

必需。不在 applications 中的应用的默认优先网络 ID,或者如果 ApplicationPolicy.preferentialNetworkId 设置为 PREFERENTIAL_NETWORK_ID_UNSPECIFIED,则为不在 applications 中的应用的默认优先网络 ID。除非将此属性设置为 NO_PREFERENTIAL_NETWORK,否则 preferentialNetworkServiceConfigs 中必须包含指定网络 ID 的配置。如果设置为 PREFERENTIAL_NETWORK_ID_UNSPECIFIED 或未设置,则默认为 NO_PREFERENTIAL_NETWORK。注意:如果默认的优先网络配置错误,未设置 ApplicationPolicy.preferentialNetworkId 的应用将无法访问互联网。此设置不适用于以下关键应用:

  • com.google.android.apps.work.clouddpc
  • com.google.android.gms

ApplicationPolicy.preferentialNetworkId 仍可用于为其配置首选网络。

PreferentialNetworkServiceConfig

JSON 表示法
{
  "preferentialNetworkId": enum (PreferentialNetworkId),
  "fallbackToDefaultConnection": enum (FallbackToDefaultConnection),
  "nonMatchingNetworks": enum (NonMatchingNetworks)
}
字段
preferentialNetworkId

enum (PreferentialNetworkId)

必需。优先网络标识符。不得将此政策设置为 NO_PREFERENTIAL_NETWORKPREFERENTIAL_NETWORK_ID_UNSPECIFIED,否则系统会拒绝该政策。

fallbackToDefaultConnection

enum (FallbackToDefaultConnection)

可选。是否允许回退到设备级默认网络。如果此政策设置为 FALLBACK_TO_DEFAULT_CONNECTION_ALLOWED,则 nonMatchingNetworks 不得设置为 NON_MATCHING_NETWORKS_DISALLOWED,否则该政策将被拒绝。注意:如果此值设置为 FALLBACK_TO_DEFAULT_CONNECTION_DISALLOWED,则在 5G 切片不可用的情况下,应用无法访问互联网。

nonMatchingNetworks

enum (NonMatchingNetworks)

可选。相应配置所适用的应用是否被禁止使用优先服务以外的网络。如果此字段设置为 NON_MATCHING_NETWORKS_DISALLOWED,则 fallbackToDefaultConnection 必须设置为 FALLBACK_TO_DEFAULT_CONNECTION_DISALLOWED

ApnPolicy

JSON 表示法
{
  "overrideApns": enum (OverrideApns),
  "apnSettings": [
    {
      object (ApnSetting)
    }
  ]
}
字段
overrideApns

enum (OverrideApns)

可选。替换 APN 是处于停用状态还是启用状态。如需了解详情,请参阅 DevicePolicyManager.setOverrideApnsEnabled

apnSettings[]

object (ApnSetting)

可选。用于替换 APN 的 APN 设置。所提供的任何 APN 设置之间不得存在任何冲突,否则系统会拒绝相应政策。如果两个 ApnSetting 的以下所有字段都匹配,则这两个 ApnSetting 被视为冲突:numericOperatorIdapnproxyAddressproxyPortmmsProxyAddressmmsProxyPortmmscmvnoTypeprotocolroamingProtocol。如果部分 APN 设置导致不符合 INVALID_VALUE,则这些设置将被忽略。此设置可在搭载 Android 10 及更高版本的完全受管设备上进行。此设置还可以在 Android 13 及更高版本的工作资料上进行,但仅适用于具有 ENTERPRISE APN 类型的 ApnSetting。如果 Android 版本低于 10,则报告 API_LEVELNonComplianceDetail。对于 Android 13 之前的版本,工作资料会报告 NonComplianceDetail,并带有 MANAGEMENT_MODE

ApnSetting

JSON 表示法
{
  "apnTypes": [
    enum (ApnType)
  ],
  "apn": string,
  "displayName": string,
  "alwaysOnSetting": enum (AlwaysOnSetting),
  "authType": enum (AuthType),
  "carrierId": integer,
  "mmsProxyAddress": string,
  "mmsProxyPort": integer,
  "mmsc": string,
  "mtuV4": integer,
  "mtuV6": integer,
  "mvnoType": enum (MvnoType),
  "networkTypes": [
    enum (NetworkType)
  ],
  "username": string,
  "password": string,
  "numericOperatorId": string,
  "protocol": enum (Protocol),
  "roamingProtocol": enum (Protocol),
  "proxyAddress": string,
  "proxyPort": integer
}
字段
apnTypes[]

enum (ApnType)

必需。APN 的使用类别。如果此字段为空或包含 APN_TYPE_UNSPECIFIED 或重复项,则政策将被拒绝。完全托管的设备上可以设置多种 APN 类型。ENTERPRISE 是工作资料中唯一允许的 APN 类型。对于工作资料中的任何其他值,系统都会报告 MANAGEMENT_MODENonComplianceDetail。设备或管理模式不支持的 APN 类型将被忽略。如果这导致列表为空,则系统会忽略 APN 设置,因为 apnTypes 是必填字段。如果设备或管理模式不支持任何 APN 类型,则报告 NonComplianceDetail(值为 INVALID_VALUE)。

apn

string

必需。APN 的名称。如果此字段为空,政策将被拒绝。

displayName

string

必需。描述 APN 的人类可读名称。如果此字段为空,政策将被拒绝。

alwaysOnSetting

enum (AlwaysOnSetting)

可选。对于此 APN,是否必须在每次从 CM-IDLE 模式转换到 CM-CONNECTED 状态期间激活用户平面资源。请参阅 3GPP TS 23.501 第 5.6.13 节。

authType

enum (AuthType)

可选。APN 的身份验证类型。

carrierId

integer

可选。APN 的运营商 ID。值为 0(默认值)表示未设置,负值会被拒绝。

mmsProxyAddress

string

可选。APN 的 MMS(多媒体消息服务)代理地址,可以是 IP 地址或主机名(而非网址)。

mmsProxyPort

integer

可选。APN 的 MMS(多媒体消息服务)代理端口。值为 0(默认值)表示未设置,负值会被拒绝。

mmsc

string

可选。APN 的 MMSC(多媒体消息服务中心)URI。

mtuV4

integer

可选。此 APN 设置所建立的 IPv4 路由的默认 MTU(最大传输单元)大小(以字节为单位)。值为 0(默认值)表示未设置,负值会被拒绝。Android 13 及更高版本支持此功能。如果 Android 版本低于 13,则报告 API_LEVELNonComplianceDetail

mtuV6

integer

可选。APN 连接到的 IPv6 移动接口的 MTU(最大传输单元)大小。值为 0(默认值)表示未设置,负值会被拒绝。Android 13 及更高版本支持此功能。如果 Android 版本低于 13,则报告 API_LEVELNonComplianceDetail

mvnoType

enum (MvnoType)

可选。相应 APN 的 MVNO 匹配类型。

networkTypes[]

enum (NetworkType)

可选。APN 可能使用的无线电技术(网络类型)。如果此字段包含 NETWORK_TYPE_UNSPECIFIED 或重复项,则政策将被拒绝。

username

string

可选。相应 APN 的 APN 用户名。

password

string

可选。相应 APN 的 APN 密码。

numericOperatorId

string

可选。APN 的数字运营商 ID。数字运营商 ID 定义为 MCC(移动设备国家/地区代码)+ MNC(移动网络代码)。

protocol

enum (Protocol)

可选。用于连接到相应 APN 的协议。

roamingProtocol

enum (Protocol)

可选。设备漫游时用于连接到此 APN 的协议。

proxyAddress

string

可选。APN 的代理地址。

proxyPort

integer

可选。APN 的代理端口。值为 0(默认值)表示未设置,负值会被拒绝。

DeviceRadioState

JSON 表示法
{
  "wifiState": enum (WifiState),
  "airplaneModeState": enum (AirplaneModeState),
  "ultraWidebandState": enum (UltraWidebandState),
  "cellularTwoGState": enum (CellularTwoGState),
  "minimumWifiSecurityLevel": enum (MinimumWifiSecurityLevel),
  "userInitiatedAddEsimSettings": enum (UserInitiatedAddEsimSettings)
}
字段
wifiState

enum (WifiState)

控制 Wi-Fi 的当前状态以及用户是否可以更改其状态。

airplaneModeState

enum (AirplaneModeState)

控制用户是否可以切换飞行模式。

ultraWidebandState

enum (UltraWidebandState)

控制超宽带设置的状态,以及用户是否可以开启或关闭该设置。

cellularTwoGState

enum (CellularTwoGState)

控制用户是否可以切换移动网络 2G 设置。

minimumWifiSecurityLevel

enum (MinimumWifiSecurityLevel)

设备可连接的 Wi-Fi 网络的最低必需安全级别。

userInitiatedAddEsimSettings

enum (UserInitiatedAddEsimSettings)

可选。控制是否允许用户添加 eSIM 卡配置文件。

DisplaySettings

JSON 表示法
{
  "screenBrightnessSettings": {
    object (ScreenBrightnessSettings)
  },
  "screenTimeoutSettings": {
    object (ScreenTimeoutSettings)
  }
}
字段
screenBrightnessSettings

object (ScreenBrightnessSettings)

可选。控制屏幕亮度设置。

screenTimeoutSettings

object (ScreenTimeoutSettings)

可选。控制屏幕超时设置。

ScreenBrightnessSettings

JSON 表示法
{
  "screenBrightnessMode": enum (ScreenBrightnessMode),
  "screenBrightness": integer
}
字段
screenBrightnessMode

enum (ScreenBrightnessMode)

可选。控制屏幕亮度模式。

screenBrightness

integer

可选。介于 1 到 255 之间的屏幕亮度,其中 1 为最低亮度,255 为最高亮度。值为 0(默认值)表示未设置屏幕亮度。任何其他值都会被拒绝。screenBrightnessMode 必须为 BRIGHTNESS_AUTOMATICBRIGHTNESS_FIXED 才能设置此项。在全托管式设备上,此功能适用于 Android 9 及更高版本。如果 Android 版本低于 9,则报告 API_LEVELNonComplianceDetail。在搭载 Android 15 及更高版本的公司自有设备上的工作资料中受支持。

ScreenTimeoutSettings

JSON 表示法
{
  "screenTimeoutMode": enum (ScreenTimeoutMode),
  "screenTimeout": string
}
字段
screenTimeoutMode

enum (ScreenTimeoutMode)

可选。控制是否允许用户配置屏幕超时。

screenTimeout

string (Duration format)

可选。控制屏幕超时时长。屏幕超时时长必须大于 0,否则系统会拒绝。此外,它不应大于 maximumTimeToLock,否则屏幕超时时间会设置为 maximumTimeToLock,并报告 INVALID_VALUE 原因和 SCREEN_TIMEOUT_GREATER_THAN_MAXIMUM_TIME_TO_LOCK 具体原因的 NonComplianceDetail。如果屏幕超时时间小于某个下限,则将其设置为该下限。下限可能因设备而异。如果设置了此标志,则 screenTimeoutMode 必须为 SCREEN_TIMEOUT_ENFORCED。在全托管式设备上,此功能适用于 Android 9 及更高版本。如果 Android 版本低于 9,则报告 API_LEVELNonComplianceDetail。在搭载 Android 15 及更高版本的公司自有设备上的工作资料中受支持。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

WorkAccountSetupConfig

JSON 表示法
{
  "authenticationType": enum (AuthenticationType),
  "requiredAccountEmail": string
}
字段
authenticationType

enum (AuthenticationType)

可选。设备上用户的身份验证类型。

requiredAccountEmail

string

可选。要添加的特定 Google 工作账号电子邮件地址。只有当 authenticationTypeGOOGLE_AUTHENTICATED 时,此字段才相关。此账号必须是企业账号,而不是个人账号。设置此字段并向设备添加经过 Google 身份验证的账号后,更改此字段将不会有任何影响,因此建议仅设置一次。

DefaultApplicationSetting

JSON 表示法
{
  "defaultApplicationType": enum (DefaultApplicationType),
  "defaultApplications": [
    {
      object (DefaultApplication)
    }
  ],
  "defaultApplicationScopes": [
    enum (DefaultApplicationScope)
  ]
}
字段
defaultApplicationType

enum (DefaultApplicationType)

必需。要设置默认应用的应用类型。

defaultApplications[]

object (DefaultApplication)

必需。可设置为给定类型的默认应用的应用程序列表。此列表不得为空或包含重复项。列表中已安装且符合 defaultApplicationType(例如,用于 DEFAULT_SMS 的短信应用)条件的首个应用会被设置为默认应用。设备上应用的签名密钥证书指纹还必须与从 Play 商店获得的签名密钥证书指纹之一或 ApplicationPolicy.signingKeyCerts 中的某个条目相匹配,才能被设置为默认应用。

如果 defaultApplicationScopes 包含 SCOPE_FULLY_MANAGEDSCOPE_WORK_PROFILE,则应用必须在 applications 中包含一个条目,且 installType 设置为除 BLOCKED 以外的值。

如果列表中的应用均未安装,则会报告一个包含 APP_NOT_INSTALLED 原因和 DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE 具体原因的 NonComplianceDetail。如果至少安装了一个应用,但由于其他原因(例如应用类型不正确)导致政策无法应用,系统会报告一个包含 INVALID_VALUE 原因和 DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE 具体原因的 NonComplianceDetail

在具有工作资料的公司自有设备上,当应用 SCOPE_PERSONAL_PROFILE 时,只能将预安装的系统应用设为默认应用。如果政策未能应用于个人资料,系统会报告 NonComplianceDetail,其中包含 INVALID_VALUE 原因和 DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE 具体原因。

defaultApplicationScopes[]

enum (DefaultApplicationScope)

必需。应应用政策的范围。此列表不得为空或包含重复项。

如果指定的范围无法应用于管理模式,则会报告 NonComplianceDetail,其中包含 MANAGEMENT_MODE 原因和 DEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPES 具体原因(例如,完全受管设备收到了一项政策,但该政策的列表中只有 SCOPE_PERSONAL_PROFILE)。

DefaultApplication

JSON 表示法
{
  "packageName": string
}
字段
packageName

string

必需。应设置为默认应用的软件包名称。如果软件包名称无效,则拒绝相应政策。

工具注释

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌