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:
- Execução local de comandos
- Migrar dispositivos gerenciados com um DPC personalizado para a AMAPI
- Device Trust do Android Enterprise
- Novo fluxo de inscrição de dispositivos que também permite adicionar Contas do Google gerenciadas
- Gerenciar apps personalizados com a AMAPI
- Gerenciar funções do aplicativo.
Siga estas etapas para integrar o SDK da AMAPI ao seu aplicativo:
- Adicione a biblioteca do SDK da AMAPI.
- 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.