Android Management API (AMAPI) SDK 使特定应用能够直接与 Android Device Policy (ADP) 通信。它支持:
- 本地执行命令
- 将使用自定义 DPC 管理的设备迁移到 AMAPI
- Device Trust from Android Enterprise
- 新的设备注册流程,还支持添加受管理的 Google 账号
- 使用 AMAPI 管理自定义应用
- 管理应用角色。
如需将 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
。