Android Management API:在Android Q上的设备列表中查找设备



我们有一个COSU应用程序,可以通过呼叫Android Management API来管理其锁定状态。为此,我们收到了带有devices.list查询的设备列表,将每个设备的hardwareInfo.serialNumber与IMEI进行比较,从Build.getSerial()接收,然后使用以下代码应用不同的策略:

  fun patchDevice(device: Device, policyName: String) {
    device.policyName = policyName
    androidManagementClient.enterprises().devices().patch(device.name, device).execute()
 }

但是,根据文档,硬件设备标识符在Android Q中不再可用。(链接(现在,我们使用Android 8的设备,但我怀疑我们的代码会破坏较新的OS。因此,问题是:

  1. 是否有其他方法可以识别列表中的设备,而不知道其硬件ID?

  2. ,或者有一种方法可以保证使用read_phone_state仍然会在Android Q上为我们提供IMEI?在文档中,指出如果您的应用程序是设备或配置文件所有者应用程序,则仅需要read_phone_state许可即使您的应用程序Targets AndroidQ。,Amapi,即使您的应用程序TRAGENS ANDROID Q. 有自己的设备所有者应用程序,所以我不确定在我们的情况下是否有效。

这里最简单的方法是通过托管配置将设备name传递给COSU应用程序。您可以使用该名称来调用API。使用这种方法,您无需访问设备的序列号。

在我以前的答案之一中详细说明了这种方法。

最新更新