首页 > 解决方案 > 是否可以更改设备策略?

问题描述

我的企业有 2 个策略:POLICY_1 和 POLICY_2。我的设备配置了 POLICY_1,但我想将其更改为 POLICY_2。

我正在使用 Java 库“com.google.apis:google-api-services-androidmanagement:v1-rev20201012-1.30.10”。

我正在尝试使用以下代码更改其策略:

private void updateMyDevicePolicy(String enterpriseName, String deviceName) throws IOException {
    Device device = getMyDevice(deviceName);
    String policyName = enterpriseName + "/policies/POLICY_2";
    device.setPolicyName(policyName);
    device.setAppliedPolicyName(policyName);
    Device deviceUpdated = androidManagementClient.enterprises().devices().patch(deviceName, device).execute();
    
    System.out.println("DEVICE policy updated = " + deviceUpdated);
}

问题是:patch 命令不起作用。设备策略仍为“POLICY_1”。

请问,如何更改设备策略?

标签: android-management-api

解决方案


可以使用 devices().patch() 更新设备的策略。但是,有必要在 devices().patch() 中设置 updateMask 将更新哪个字段,在本例中为 policyName,以告知您只想更改该特定字段。

以下是使用不同语言的 updateMask 实现:

androidmanagement.enterprises().devices().patch(
    name=device_name,
     updateMask="policyName",
    body=json.loads(devices_json)
).execute()

在此代码中,“policyName”从 enterpriseName + "/policies/POLICY_1" 更新为 enterpriseName + "/policies/POLICY_2"


推荐阅读