Пакет SDK Android Management API (AMAPI) позволяет определенным приложениям напрямую взаимодействовать с Android Device Policy (ADP). Он поддерживает:
- Локальное выполнение команд
- Перенос устройств, управляемых с помощью специального DPC, в AMAPI
- Доверие устройству от Android Enterprise
- Новый процесс регистрации устройств, который также поддерживает добавление управляемых учетных записей Google.
- Управление пользовательскими приложениями с помощью AMAPI
- Управление ролями приложений .
Для интеграции AMAPI SDK с вашим приложением необходимо выполнить следующие шаги:
- Добавьте библиотеку AMAPI SDK .
- Добавьте элемент 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
к одной службе.