Pakiet SDK interfejsu Android Management API (AMAPI) umożliwia określonym aplikacjom bezpośrednią komunikację z aplikacją Android Device Policy (ADP). Obejmuje ona obsługę:
- Lokalne wykonywanie poleceń
- Migracja urządzeń zarządzanych za pomocą niestandardowego kontrolera zasad urządzenia do interfejsu AMAPI
- Device Trust od Android Enterprise
- Nowy proces rejestracji urządzenia, który obsługuje też dodawanie zarządzanych kont Google
- Zarządzanie aplikacjami niestandardowymi za pomocą interfejsu AMAPI
- Zarządzaj rolami aplikacji.
Aby zintegrować pakiet AMAPI SDK z aplikacją, wykonaj te czynności:
- Dodaj bibliotekę pakietu SDK AMAPI.
- Dodaj element zapytań, jeśli docelowy pakiet SDK ma wersję ≥ 30.
Wymagania wstępne
- Sprawdź, czy parametr
minSdkVersion
w aplikacji jest ustawiony na co najmniej poziom API 21. - Dodaj do aplikacji zależności najnowszej wersji pakietu AMAPI SDK. Wersję najnowszej dostępnej biblioteki i informacje o tym, jak dodać ją do aplikacji, znajdziesz na stronie informacji o wersji pakietu AMAPI SDK.
Dodawanie elementu zapytań
Jeśli Twoja aplikacja jest kierowana na SDK w wersji 30 lub nowszej, w pliku
AndroidManifest.xml
musi się znajdować element queries, który określa, że aplikacja będzie wchodzić w interakcje z platformą 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 wyeksportowana.
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żesz to zrobić na 2 sposoby.
Dokumentacja każdej funkcji określa, które podejście należy zastosować.
Explicit API
W takim przypadku wartość ComponentName
jest przekazywana do aplikacji ADP za pomocą odpowiedniego interfejsu API. Szczegółowe informacje znajdziesz w dokumentacji danej funkcji.
W 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 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 w przypadku każdej funkcji, która korzysta z tego podejścia (przykład znajdziesz w artykule Zarządzanie rolami aplikacji).
Aby tagowanie było prawidłowe, aplikacja musi mieć dokładnie 1 usługę, która jest włączona i ma meta-data
, której 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
.