与 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 的版本说明页面中找到最新可用库的版本以及如何将其添加到应用中。

添加查询元素

如果您的应用以 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