有啥方法可以从应用程序获取 Android Management API 设备 ID

Posted

技术标签:

【中文标题】有啥方法可以从应用程序获取 Android Management API 设备 ID【英文标题】:Is there any way to get Android Management API device id from app有什么方法可以从应用程序获取 Android Management API 设备 ID 【发布时间】:2019-08-09 17:17:27 【问题描述】:

我正在尝试开发 android Management API + kiosk 应用程序。

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

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

【问题讨论】:

我不确定您是否可以直接从您的 Kiosk 应用程序中获取 device id。但是您可以为您的 Kiosk 应用创建一个托管配置,然后通过它推送device id 我还建议使用托管配置,我在下面添加了更详细的答案来解释它。 【参考方案1】:

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

但是,您可以通过 exposing a managed configuration 在您的应用中使用一个字符串并在 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 字段包含带有设备ID 的Device 资源,因此允许您创建新策略并将其分配给设备。

【讨论】:

虽然这种方法有效,但有点麻烦。有什么方法可以使用 Android Management API 并拥有一个自定义开发的应用程序,该应用程序有权从 DPC 检索有关设备、企业等的更多信息? @Hameno 您是否发现是否可以从 Android 应用中检索额外信息(例如设备、企业)? 你们能从安卓应用中获取详细信息吗? 这是非常有限的,不是吗?如果应将某个策略更改应用于X 设备,则应修补X 策略(而不仅仅是1)。 有没有办法解决这个问题?【参考方案2】:

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

【讨论】:

以上是关于有啥方法可以从应用程序获取 Android Management API 设备 ID的主要内容,如果未能解决你的问题,请参考以下文章

即使gps关闭,有啥方法可以获取位置更新

Android中getResource()获取资源和利用R文件获取资源有啥区别

有啥方法可以使用 HttpUrlConnection 正确获取上传进度

有啥方法可以从 jitpack 的 maven 依赖项下载 aar

有啥方法可以获取 iOS 上所有应用的通知吗?

获取 Android 上下文的各种方法有啥区别?