Android Management API (AMAPI) SDK 使特定应用能够直接与 Android 设备政策 (ADP) 通信。它支持:
- 在本地执行命令
- 将使用自定义 DPC 管理的设备迁移到 AMAPI
- Device Trust from Android Enterprise
- 新的设备注册流程,还支持添加受管理的 Google 账号
- 使用 AMAPI 管理自定义应用
- 管理应用角色。
- 使用统一更新控件管理更新。
- 读取设备 EID。
必须执行以下步骤,才能将 AMAPI SDK 与您的应用集成:
- 添加 AMAPI SDK 库。
- 如果目标 SDK >= 30,请添加 queries 元素。
前提条件
- 验证应用的
minSdkVersion是否至少设置为 API 级别 21。 - 将最新版本 AMAPI SDK 的依赖项添加到您的应用中。您可以在 AMAPI SDK 的版本说明页面中找到最新可用库的版本以及如何将其添加到应用中。
添加查询元素
如果您的应用以 SDK 30 或更高版本为目标平台,则需要在 AndroidManifest.xml 中添加 queries 元素,以指定该应用将与 ADP 交互。
<queries>
<package android:name="com.google.android.apps.work.clouddpc" />
</queries>
如需了解详情,请参阅 Android 上的软件包可见性过滤。
实现 NotificationReceiverService
某些功能需要创建 NotificationReceiverService,而某些功能则可选择性地使用它。如需使用该类,请定义一个扩展 NotificationReceiverService 的类,将其作为 service 添加到 AndroidManifest.xml,并确保将其导出。
import com.google.android.managementapi.notification.NotificationReceiverService;
...
public final class MyAppNotificationReceiverService extends NotificationReceiverService {
@Override
protected void setupInjection() {
// This method can be optionally used to inject dependencies at the
// beginning of the service lifecycle.
}
}
您必须向 ADP 应用提供 NotificationReceiverService 类的 ComponentName。为此,您可以采用以下两种方法。
每个功能的文档都会指定要使用的方法。
显式 API
在这种情况下,ComponentName 会通过合适的 API 传递给 ADP 应用。相关功能的文档中提供了详细信息。
在 AndroidManifest.xml 中,添加以下内容:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" />
自动发现
使用此方法时,您必须为服务添加标记,以便系统能够自动发现该服务。在 AndroidManifest.xml 中,添加以下内容:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" >
<meta-data android:name="Insert name here" android:value=""/>
</service>
对于使用此方法的每项功能,meta-data 的 android:name 要使用的特定字符串均有记录(请参阅管理应用角色,查看示例)。为了使此标记有效,您的应用必须正好有一个服务已启用,并且具有 meta-data,其 android:name 是此特定字符串,android:value 是空字符串。您可以向同一服务添加多个 meta-data。