Integrar com o SDK AMAPI

O SDK da API Android Management (AMAPI) permite que apps específicos se comuniquem diretamente com o Android Device Policy (ADP). Ele inclui suporte para:

As etapas a seguir precisam ser realizadas para integrar o SDK da AMAPI ao seu aplicativo:

  1. Adicione a biblioteca do SDK da AMAPI.
  2. Adicione o elemento de consultas, se o SDK de destino for 30 ou mais recente.

Pré-requisitos

  • Verifique se o minSdkVersion do app está definido como o nível 21 da API ou mais recente.
  • Adicione as dependências da versão mais recente do SDK da AMAPI ao seu aplicativo. Você pode encontrar a versão da biblioteca mais recente disponível e como adicioná-la ao aplicativo na página de notas da versão do SDK da AMAPI.

Adicionar elemento de consultas

Se o app segmentar o SDK 30 ou mais recente, o elemento de consultas será necessário no AndroidManifest.xml para especificar que ele vai interagir com o ADP.

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

Consulte Filtragem da visibilidade de pacotes no Android para mais informações.

Implementar um NotificationReceiverService

Alguns recursos exigem a criação de um NotificationReceiverService, e outros tornam o uso dele opcional. Para usá-lo, defina uma classe que estenda NotificationReceiverService, adicione-a como um service ao AndroidManifest.xml e verifique se ela foi exportada.


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

Você precisa fornecer ao app ADP o ComponentName da classe NotificationReceiverService. Há duas abordagens para fazer isso. A documentação de cada recurso especifica qual abordagem usar.

API explícita

Nesse caso, o ComponentName é transmitido ao app ADP por uma API adequada. A documentação do recurso em questão tem os detalhes. No AndroidManifest.xml, adicione:

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

Descoberta automática

Com essa abordagem, você precisa marcar seu serviço para que ele possa ser descoberto automaticamente. No AndroidManifest.xml, adicione:

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

A string específica a ser usada para android:name do meta-data é documentada para cada recurso que usa essa abordagem. Consulte Gerenciar papéis de aplicativos para ver um exemplo. Para que essa marcação seja válida, o app precisa ter exatamente um serviço ativado e com meta-data cujo android:name seja essa string específica e android:value seja uma string vazia. É possível adicionar vários meta-data ao mesmo serviço.