Integracja z pakietem AMAPI SDK

Pakiet SDK interfejsu Android Management API (AMAPI) umożliwia określonym aplikacjom bezpośrednią komunikację z Android Device Policy (ADP). Obejmuje ona:

Aby zintegrować pakiet SDK AMAPI z aplikacją, wykonaj te czynności:

  1. Dodaj bibliotekę AMAPI SDK.
  2. Dodaj element queries, jeśli docelowy pakiet SDK jest w wersji 30 lub nowszej.

Wymagania wstępne

  • Sprawdź, czy w aplikacji minSdkVersion jest ustawiony co najmniej poziom API 21.
  • Dodaj do aplikacji zależności najnowszej wersji pakietu SDK AMAPI. Wersję najnowszej dostępnej biblioteki i sposób dodawania jej do aplikacji znajdziesz na stronie z informacjami o wersji pakietu AMAPI SDK.

Dodaj element zapytania

Jeśli Twoja aplikacja jest kierowana na pakiet SDK 30 lub nowszy, w pliku AndroidManifest.xml potrzebny jest element queries, aby określić, że aplikacja będzie wchodzić w interakcje z ADP.

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

Więcej informacji znajdziesz w artykule o filtrowaniu widoczności pakietów na Androidzie.

Implementowanie NotificationReceiverService

Niektóre funkcje wymagają utworzenia NotificationReceiverService, a inne mogą z niego korzystać opcjonalnie. Aby go użyć, zdefiniuj klasę rozszerzającą NotificationReceiverService, dodaj ją jako service do AndroidManifest.xml i upewnij się, że jest eksportowana.


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.
  }
}

Musisz podać aplikacji ADP ComponentName klasy NotificationReceiverService. Można to zrobić na 2 sposoby. Dokumentacja każdej funkcji określa, które podejście należy zastosować.

Explicit API

W takim przypadku ComponentName jest przekazywany do aplikacji ADP za pomocą odpowiedniego interfejsu API. Szczegółowe informacje znajdziesz w dokumentacji danej funkcji. W pliku AndroidManifest.xml dodaj:

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" />

Automatyczne wykrywanie

W tym przypadku musisz oznaczyć usługę tagiem, aby można było ją automatycznie wykryć. W pliku AndroidManifest.xml dodaj:

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" >
    <meta-data android:name="Insert name here" android:value=""/>
</service>

Konkretny ciąg znaków, którego należy użyć w przypadku android:name w meta-data, jest udokumentowany dla każdej funkcji, która korzysta z tego podejścia (przykład znajdziesz w artykule Zarządzanie rolami aplikacji). Aby to tagowanie było prawidłowe, aplikacja musi mieć dokładnie 1 usługę, która jest włączona i ma meta-data, którego android:name jest tym konkretnym ciągiem znaków, a android:value jest pustym ciągiem znaków. Do tej samej usługi możesz dodać kilka meta-data.