与 AMAPI SDK 集成

Android Management API (AMAPI) SDK 可让特定应用直接与 Android Device Policy (ADP) 通信。它支持:

如需将 AMAPI SDK 与您的应用集成,必须执行以下步骤:

  1. 添加 AMAPI SDK 库
  2. 如果目标 SDK >= 30,则添加 queries 元素

前提条件

  • 验证应用的 minSdkVersion 是否至少设置为 API 级别 21。
  • 将最新版 AMAPI SDK 的依赖项添加到您的应用。您可以在 AMAPI SDK 的版本说明 页面中找到最新可用库的版本,以及 如何将其添加到您的应用。

添加 queries 元素

如果您的应用以 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-dataandroid:name 的特定字符串(如需查看示例,请参阅管理应用角色)。如需使此标记有效,您的应用必须恰好有一个已启用且具有 meta-data 的服务,该服务的 android:name 是此特定字符串,android:value 是空字符串。您可以为同一服务添加多个 meta-data