有啥方法可以从应用程序获取 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的主要内容,如果未能解决你的问题,请参考以下文章
Android中getResource()获取资源和利用R文件获取资源有啥区别
有啥方法可以使用 HttpUrlConnection 正确获取上传进度