[英]Android management API: find device in list of devices on android Q
我们有一个 cosu 应用程序,它可以通过调用 Android 管理 API 来管理其锁定状态。 为此,我们使用devices.list
查询接收设备列表,将每个设备的hardwareInfo.serialNumber
与从Build.getSerial()
接收的 IMEI 进行比较,然后使用以下代码应用不同的策略:
fun patchDevice(device: Device, policyName: String) {
device.policyName = policyName
androidManagementClient.enterprises().devices().patch(device.name, device).execute()
}
但是,根据文档,android Q 中不再提供硬件设备标识符。( 链接)现在,我们使用带有 Android 8 的设备,但我怀疑我们的代码会在较新的操作系统上中断。 所以,问题是:
有没有其他方法可以在不知道其硬件 ID 的情况下识别列表中的设备?
或者也许有一种方法可以保证在 Android Q 上使用 READ_PHONE_STATE 仍然会为我们提供 IMEI? 在文档中指出,如果您的应用程序是设备或配置文件所有者应用程序,则您只需要 READ_PHONE_STATE 权限即可访问不可重置的设备标识符,即使您的应用程序面向 Android Q。但是,AMAPI 有自己的设备所有者应用程序,所以我不确定这是否适用于我们的情况。
这里最简单的方法是通过托管配置将设备name
传递给您的 COSU 应用程序。 然后,您的 COSU 应用程序可以使用该名称调用 API。 使用这种方法,您无需访问设备的序列号。
这种方法在我之前的一个答案中有详细解释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.