DpcMigrationClient

public interface DpcMigrationClient


O cliente faz solicitações relacionadas à migração de DPC.

Resumo

Métodos públicos

abstract @NonNull ListenableFuture<DpcMigrationAttempt>
getMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

Recebe uma tentativa de migração.

abstract DpcMigrationAttempt
getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

Recebe uma tentativa de migração.

abstract @NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>>

Retorna uma lista de todas as tentativas de migração.

abstract @NonNull List<@NonNull DpcMigrationAttempt>

Retorna uma lista de todas as tentativas de migração.

abstract @NonNull ListenableFuture<@NonNull DpcMigrationAttempt>
migrateDeviceManagementToAndroidManagementApi(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

Migre este dispositivo para que ele seja gerenciado pela API Android Management.

abstract @NonNull DpcMigrationAttempt
migrateDeviceManagementToAndroidManagementApiAwait(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

Migre este dispositivo para que ele seja gerenciado pela API Android Management.

Métodos públicos

getMigrationAttempt

abstract @NonNull ListenableFuture<DpcMigrationAttemptgetMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

Recebe uma tentativa de migração.

Se nenhum nome for especificado no GetDpcMigrationAttemptRequest, o DpcMigrationAttempt mais recente será retornado.

Esse método só pode ser chamado por um proprietário do dispositivo ou do perfil, ou por um proprietário do dispositivo ou do perfil anterior que tenha migrado para a API Android Management.

Retorna
@NonNull ListenableFuture<DpcMigrationAttempt>

Uma ListenableFuture que envolve o resultado. Pode ser

  • Um futuro de sucesso envolvendo um DpcMigrationAttempt, em caso de sucesso.

  • Um valor nulo de encapsulamento futuro bem-sucedido caso o DpcMigrationAttempt não seja encontrado.

  • Um futuro com falha de encapsulamento de um SecurityException, caso o autor da chamada não seja um proprietário do dispositivo ou do perfil, ou um proprietário do dispositivo ou do perfil anterior que tenha migrado para a API Android Management.

  • Uma falha futura de wrapper DpcMigrationException se a chamada relacionada à migração de dpc falhar. A mensagem e o subtipo da exceção contêm mais detalhes sobre a falha.

getMigrationAttemptAwait

abstract DpcMigrationAttempt getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

Recebe uma tentativa de migração.

Se nenhum nome for especificado no GetDpcMigrationAttemptRequest, o DpcMigrationAttempt mais recente será retornado.

Esse método só pode ser chamado por um proprietário do dispositivo ou do perfil, ou por um proprietário do dispositivo ou do perfil anterior que tenha migrado para a API Android Management.

Retorna
DpcMigrationAttempt

O DpcMigrationAttempt solicitado ou nulo, se não for possível encontrá-lo.

Gera
java.lang.SecurityException

Se o autor da chamada não for um proprietário do dispositivo ou do perfil, ou um proprietário anterior do dispositivo ou do perfil que migrou para a API Android Management.

com.google.android.managementapi.dpcmigration.DpcMigrationException

Se a chamada relacionada à migração do DPC falhou. A mensagem e o subtipo da exceção contêm mais detalhes sobre a falha.

listMigrationAttempts

abstract @NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>> listMigrationAttempts()

Retorna uma lista de todas as tentativas de migração.

Esse método só pode ser chamado por um proprietário do dispositivo ou do perfil, ou por um proprietário do dispositivo ou do perfil anterior que tenha migrado para a API Android Management. Observação: as tentativas de migração mais antigas são excluídas automaticamente e não são retornadas.

Retorna
@NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>>

Uma ListenableFuture que envolve o resultado. Pode ser

  • Um futuro bem-sucedido envolvendo uma lista de DpcMigrationAttempt, em caso de sucesso.

  • Um futuro com falha de encapsulamento de um SecurityException, caso o autor da chamada não seja um proprietário do dispositivo ou do perfil, ou um proprietário do dispositivo ou do perfil anterior que tenha migrado para a API Android Management.

  • Uma falha futura de wrapper DpcMigrationException se a chamada relacionada à migração de dpc falhar. A mensagem e o subtipo da exceção contêm mais detalhes sobre a falha.

listMigrationAttemptsAwait

abstract @NonNull List<@NonNull DpcMigrationAttemptlistMigrationAttemptsAwait()

Retorna uma lista de todas as tentativas de migração.

Esse método só pode ser chamado por um proprietário do dispositivo ou do perfil, ou por um proprietário do dispositivo ou do perfil anterior que tenha migrado para a API Android Management. Observação: as tentativas de migração mais antigas são excluídas automaticamente e não são retornadas.

Gera
java.lang.SecurityException

Se o autor da chamada não for um proprietário do dispositivo ou do perfil, ou um proprietário anterior do dispositivo ou do perfil que migrou para a API Android Management.

com.google.android.managementapi.dpcmigration.DpcMigrationException

Se a chamada relacionada à migração do DPC falhou. A mensagem e o subtipo da exceção contêm mais detalhes sobre a falha.

migrateDeviceManagementToAndroidManagementApi

abstract @NonNull ListenableFuture<@NonNull DpcMigrationAttemptmigrateDeviceManagementToAndroidManagementApi(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

Migre este dispositivo para que ele seja gerenciado pela API Android Management.

Quando a migração terminar, o app de chamada vai perder os privilégios de proprietário do dispositivo ou do perfil, porque eles são transferidos para o Android Device Policy.

Aviso: essa ação não pode ser desfeita! O ListenableFuture retornado é concluído quando o Android Device Policy recebeu a solicitação e concluiu as verificações preliminares no token de migração. Em caso de falha, o ListenableFuture vai encapsular um Exception.

Este método pode ser chamado apenas por um proprietário do dispositivo ou do perfil. No Android 10 e versões anteriores, isso não pode ser chamado em um dispositivo com um proprietário do dispositivo e um proprietário de perfil.

As redes Wi-Fi configuradas precisam ser transmitidas em DpcMigrationRequest pelo proprietário do perfil (exceto no Android 12) em um dispositivo pessoal se ele tiver configurado alguma rede Wi-Fi. Eles não podem ser transmitidos em um dispositivo da empresa. Essas redes Wi-Fi serão removidas pouco antes da migração do gerenciamento dos dispositivos para o Android Device Policy. Em caso de falha na remoção de uma rede, a migração também falhará e, como a remoção das redes não é uma operação atômica, algumas redes podem já ter sido removidas.

Nos dispositivos pessoais com um perfil de trabalho com o Android 12, todas as redes Wi-Fi configuradas pelo DPC que fez a chamada serão removidas pouco antes da migração do gerenciamento do dispositivo para o Android Device Policy, independente das redes Wi-Fi transmitidas na migrationRequest.

Parâmetros
@NonNull ComponentName notificationServiceComponentName

O ComponentName do serviço estendendo NotificationReceiverService. Ele precisa ser um componente válido pertencente ao app de chamada e exportado no manifesto. Caso contrário, uma IllegalArgumentException será gerada.

@NonNull ComponentName adminComponentName

O ComponentName do DeviceAdminReceiver de administrador do DPC que fez a chamada.

@NonNull DpcMigrationRequest migrationRequest

O DpcMigrationRequest contendo o token de migração e as redes Wi-Fi configuradas. Os dois últimos são necessários apenas se o autor da chamada for o proprietário do perfil em um dispositivo pessoal e tiver configurado alguma rede.

Retorna
@NonNull ListenableFuture<@NonNull DpcMigrationAttempt>

Uma ListenableFuture que envolve o resultado. Pode ser

migrateDeviceManagementToAndroidManagementApiAwait

abstract @NonNull DpcMigrationAttempt migrateDeviceManagementToAndroidManagementApiAwait(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

Migre este dispositivo para que ele seja gerenciado pela API Android Management.

Quando a migração terminar, o app de chamada vai perder os privilégios de proprietário do dispositivo ou do perfil, porque eles são transferidos para o Android Device Policy.

Aviso: essa ação não pode ser desfeita! Essa diversão de suspensão retorna quando o Android Device Policy recebe a solicitação e conclui as verificações preliminares no token de migração. Em caso de falha, uma Exception é gerada.

Este método pode ser chamado apenas por um proprietário do dispositivo ou do perfil. No Android 10 e versões anteriores, isso não pode ser chamado em um dispositivo com um proprietário do dispositivo e um proprietário de perfil.

As redes Wi-Fi configuradas precisam ser transmitidas em DpcMigrationRequest pelo proprietário do perfil (exceto no Android 12) em um dispositivo pessoal se ele tiver configurado alguma rede Wi-Fi. Eles não podem ser transmitidos em um dispositivo da empresa. Essas redes Wi-Fi serão removidas pouco antes da migração do gerenciamento dos dispositivos para o Android Device Policy. Em caso de falha na remoção de uma rede, a migração também falhará e, como a remoção das redes não é uma operação atômica, algumas redes podem já ter sido removidas.

Nos dispositivos pessoais com um perfil de trabalho com o Android 12, todas as redes Wi-Fi configuradas pelo DPC que fez a chamada serão removidas pouco antes da migração do gerenciamento do dispositivo para o Android Device Policy, independente das redes Wi-Fi transmitidas na migrationRequest.

Parâmetros
@NonNull ComponentName notificationServiceComponentName

O ComponentName do serviço estendendo NotificationReceiverService. Ele precisa ser um componente válido pertencente ao app de chamada e exportado no manifesto. Caso contrário, uma IllegalArgumentException será gerada.

@NonNull ComponentName adminComponentName

O ComponentName do DeviceAdminReceiver de administrador do DPC que fez a chamada.

@NonNull DpcMigrationRequest migrationRequest

O DpcMigrationRequest contendo o token de migração e as redes Wi-Fi configuradas. Os dois últimos são necessários apenas se o autor da chamada for o proprietário do perfil em um dispositivo pessoal e tiver configurado alguma rede.

Retorna
@NonNull DpcMigrationAttempt

DpcMigrationException pelo status atual da migração em caso de êxito.

Gera
java.lang.SecurityException

Se o autor da chamada não for um proprietário do dispositivo ou do perfil.

java.lang.IllegalArgumentException

Se o token de migração estiver vazio ou se notificationServiceComponentName não se referir a um componente válido que estende NotificationReceiverService que é exportado no manifesto, ou se adminComponentName não for um administrador ativo pertencente ao pacote atual.

com.google.android.managementapi.dpcmigration.DpcMigrationException

Se a chamada relacionada à migração do DPC falhou. A mensagem e o subtipo da exceção contêm mais detalhes sobre a falha.