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

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

Для интеграции AMAPI SDK с вашим приложением необходимо выполнить следующие шаги:

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

Предпосылки

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

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

Если ваше приложение ориентировано на SDK 30 или более позднюю версию, то в AndroidManifest.xml необходим элемент requests, чтобы указать, что оно будет взаимодействовать с 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 ComponentName вашего класса NotificationReceiverService . Существует два подхода к решению этой задачи. В документации к каждой функции указано, какой подход использовать.

Явный 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 к одной службе.