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:

Siga estas etapas para integrar o SDK da AMAPI ao seu aplicativo:

  1. Adicione a biblioteca do SDK da AMAPI.
  2. Adicione o elemento "queries" se o SDK de destino for igual ou maior que 30.

Pré-requisitos

  • Verifique se o minSdkVersion do app está definido como pelo menos o nível 21 da API.
  • Adicione as dependências da versão mais recente do SDK da AMAPI ao seu aplicativo. Na página Notas da versão do SDK da AMAPI, você encontra a versão da biblioteca mais recente disponível e como adicioná-la ao seu aplicativo.

Adicionar elemento de consultas

Se o app segmenta o SDK 30 ou mais recente, o elemento de consultas é necessário no AndroidManifest.xml para especificar que ele vai interagir com a 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 permitem o uso opcional dele. Para usar, defina uma classe que estenda NotificationReceiverService, adicione-a como um service ao seu 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.
  }
}

É necessário fornecer ao app ADP o ComponentName da sua 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 para o app da ADP por uma API adequada. A documentação do recurso em questão tem os detalhes. No seu AndroidManifest.xml, adicione:

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

Descoberta automática

Com essa abordagem, você precisa adicionar uma tag ao serviço para que ele possa ser descoberto automaticamente. No seu 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 está documentada para cada recurso que usa essa abordagem. Consulte Gerenciar papéis de aplicativo para ver um exemplo. Para que essa inclusão de tag seja válida, seu app precisa ter exatamente um serviço ativado 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.