【发布时间】:2019-06-24 09:22:50
【问题描述】:
我们有一个 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 中不再可用。(link) 目前,我们使用搭载 Android 8 的设备,但我怀疑我们的代码会在较新的操作系统上中断。所以,问题是:
-
有没有其他方法可以在不知道其硬件 ID 的情况下识别列表中的设备?
-
或者也许有办法保证在 Android Q 上使用 READ_PHONE_STATE 仍会为我们提供 IMEI?在文档中指出 如果您的应用是设备或配置文件所有者应用,则您只需要 READ_PHONE_STATE 权限即可访问不可重置的设备标识符,即使您的应用针对 Android Q。 但是,AMAPI有自己的设备所有者应用程序,所以我不确定这是否适用于我们的案例。
【问题讨论】:
标签: android android-management-api cosu