Pakiet SDK interfejsu Android Management API (AMAPI) umożliwia określonym aplikacjom bezpośrednią komunikację z Android Device Policy (ADP). Obejmuje ona:
- Lokalne wykonywanie poleceń
- Migracja urządzeń zarządzanych za pomocą niestandardowego kontrolera zasad urządzeń do AMAPI
- Device Trust od Android Enterprise
- Nowy proces rejestracji urządzeń, który obsługuje też dodawanie zarządzanych kont Google.
- Zarządzanie aplikacjami niestandardowymi za pomocą interfejsu AMAPI
- Zarządzanie rolami aplikacji
- Zarządzanie aktualizacjami za pomocą ujednoliconych ustawień aktualizacji
- Odczytaj EID urządzenia.
Aby zintegrować pakiet SDK AMAPI z aplikacją, wykonaj te czynności:
- Dodaj bibliotekę AMAPI SDK.
- Dodaj element queries, jeśli docelowy pakiet SDK jest w wersji 30 lub nowszej.
Wymagania wstępne
- Sprawdź, czy w aplikacji
minSdkVersionjest 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.