有什么方法可以从应用程序中获取 Android 管理 API 设备 ID

Is there any way to get Android Management API device id from app

我正在尝试开发 Android 管理 API + 信息亭应用程序。

我想从自助服务终端应用程序获取设备 ID(enterprises/xxxxx/devices/xxxxx)。
我的目的是将设备 ID 与在应用程序中创建的信息亭应用程序 ID 相关联。

我可以从自助服务终端应用程序获取设备 ID 吗?还有其他解决办法吗?

您的应用无法直接访问设备 ID。

不过,您可以通过 exposing a managed configuration in your app with one string and configuring it in the ApplicationPolicy 对每个设备使用不同的策略来获得类似的结果。托管配置可以包含一个字符串 属性,您可以将其设置为每个设备的设备 ID。

您应用中的托管配置文件如下所示:

<restrictions xmlns:android="http://schemas.android.com/apk/res/android">

  <restriction
    android:key="deviceId"
    android:title="ID of the device"
    android:restrictionType="string" />

</restrictions>

政策如下:

{
  "applications": [
    {
      "packageName": "com.example",
      "installType": "FORCE_INSTALLED",
      "managedConfiguration": {
        "deviceId": "1a2b3c4d5e6f"
      }
    }
  ]
}

此外,要在注册新设备后立即设置策略,您可以 set up Pub/Sub notifications 并侦听 ENROLLMENT 事件,通知的 data 字段包含 Device 资源与设备 ID,因此允许您创建新策略并将其分配给设备。

我不同意这个解决方案,据我所知,人们正在从设备读取策略信息并将其映射到 Kiosk 应用程序。