Интеграция с AMAPI SDK

Android Management API (AMAPI) SDK позволяет определенным приложениям напрямую взаимодействовать с Android Device Policy (ADP). В частности, должны поддерживаться:

Чтобы интегрировать AMAPI SDK с приложением, выполните следующие действия:

  1. Добавьте библиотеку AMAPI SDK.
  2. Добавьте элемент queries, если целевой SDK >= 30.

Требования

  • Убедитесь, что в параметре minSdkVersion вашего приложения указан уровень API не ниже 21.
  • Добавьте зависимости для последней версии AMAPI SDK в свое приложение. Узнать, какая версия библиотеки является последней, и как добавить ее в приложение, можно в примечаниях к выпуску AMAPI SDK.

Добавить элемент запросов

Если ваше приложение предназначено для SDK 30 или более поздней версии, в файле AndroidManifest.xml нужно указать элемент queries, чтобы обозначить, что приложение будет взаимодействовать с ADP.

<queries>
    <package android:name="com.google.android.apps.work.clouddpc" />
</queries>

Подробные рекомендации для разработчиков и сведения об альтернативных решениях собраны в специальном руководстве.

Реализуйте 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 ComponentName вашего класса NotificationReceiverService. Это можно сделать двумя способами. В документации по каждой функции указано, какой подход следует использовать.

Explicit API

В этом случае ComponentName передается в приложение ADP через подходящий API. Подробную информацию можно найти в документации по соответствующей функции. Добавьте в файл 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>

Строка, которую нужно использовать для android:name в meta-data, описана в документации для каждой функции, использующей этот подход (см. пример в разделе Управление ролями приложений). Чтобы тегирование работало правильно, в приложении должен быть ровно один сервис, который включен и имеет meta-data, где android:name – это указанная строка, а android:value – пустая строка. Вы можете добавить несколько meta-data в один сервис.