AccountSetupClient

public interface AccountSetupClient


Es un cliente para administrar la configuración de una cuenta administrada en el dispositivo.

Requisito de integración del ciclo de vida: Para controlar correctamente las devoluciones de llamada de resultados que requieren operaciones como launchAuthenticationActivity, este cliente depende de las APIs de Activity Result de AndroidX. El llamador debe integrar este cliente con el ciclo de vida del componente de Android (Activity o Fragment) de la siguiente manera:

  1. Recuperar el observador con getLifecycleObserver

  2. Registra este observador con el Lifecycle de la actividad o el fragmento host, por lo general, en onCreate (p.ej., lifecycle.addObserver(client.lifecycleObserver)).

Actualizaciones de estado: Para recibir notificaciones sobre los cambios de estado asíncronos en la configuración de la cuenta, la app de llamadas debe hacer lo siguiente:

  1. Implementa la interfaz AccountSetupListener.

  2. Proporciona una implementación para controlar las actualizaciones de estado recibidas.

  3. Extiende NotificationReceiverService y proporciona una instancia de AccountSetupListener.

  4. Agrega la clase NotificationReceiverService extendida a tu archivo AndroidManifest.xml y asegúrate de que se exporte.

Usa AccountSetupClientFactory para crear una instancia de este cliente.

Resumen

Métodos públicos

abstract @NonNull AccountSetupAttempt
cancelAccountSetupAttempt(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

Cancela el intento de configuración de la cuenta especificado.

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>

Cancela el intento de configuración de la cuenta especificado.

abstract @NonNull LifecycleObserver

Es el LifecycleObserver que controla la configuración dependiente del ciclo de vida para este cliente.

abstract @NonNull AccountSetupAttempt
launchAuthenticationActivity(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

Inicia la actividad de Minute Maid para autenticar al usuario o el selector de cuentas si la cuenta ya está presente en el dispositivo.

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>

Inicia la actividad de Minute Maid para autenticar al usuario o el selector de cuentas si la cuenta ya está presente en el dispositivo.

abstract @NonNull List<@NonNull AccountSetupAttempt>

Enumera todos los intentos de configuración de la cuenta.

abstract @NonNull ListenableFuture<@NonNull List<@NonNull AccountSetupAttempt>>

Enumera todos los intentos de configuración de la cuenta.

abstract @NonNull AccountSetupAttempt
startAccountSetup(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Inicia la configuración de la cuenta.

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>
startAccountSetupFuture(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Inicia la configuración de la cuenta.

Métodos públicos

cancelAccountSetupAttempt

abstract @NonNull AccountSetupAttempt cancelAccountSetupAttempt(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

Cancela el intento de configuración de la cuenta especificado.

Parámetros
@NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest

Es la solicitud para cancelar el intento de configuración de la cuenta.

Muestra
@NonNull AccountSetupAttempt

Es el intento de configuración de la cuenta actualizado.

cancelAccountSetupAttemptFuture

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttemptcancelAccountSetupAttemptFuture(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

Cancela el intento de configuración de la cuenta especificado.

Parámetros
@NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest

Es la solicitud para cancelar el intento de configuración de la cuenta.

Muestra
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

Un ListenableFuture que contiene el resultado. Puede ser

  • Es un futuro exitoso que encapsula el intento de actualización de la configuración de la cuenta.

  • Es un futuro que falló si no se encuentra el intento de configuración de la cuenta o si ya está en un estado final (error o éxito).

getLifecycleObserver

abstract @NonNull LifecycleObserver getLifecycleObserver()

Es el LifecycleObserver que controla la configuración dependiente del ciclo de vida para este cliente.

Este observador debe registrarse con el Lifecycle de la actividad o el fragmento que aloja esta instancia del cliente (p.ej., lifecycle.addObserver(...) (por lo general, se llama en el onCreate del host)

Registrar este observador permite que el cliente inicialice correctamente los componentes internos, en particular el androidx.activity.result.ActivityResultLauncher necesario para procesar el resultado de launchAuthenticationActivity. Si no se registra este observador, se producirán errores cuando se intente iniciar la actividad de autenticación.

launchAuthenticationActivity

abstract @NonNull AccountSetupAttempt launchAuthenticationActivity(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

Inicia la actividad de Minute Maid para autenticar al usuario o el selector de cuentas si la cuenta ya está presente en el dispositivo.

Parámetros
@NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest

Es la solicitud para iniciar la actividad de autenticación. La solicitud debe contener un intento de configuración de la cuenta en estado AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

Arroja
java.lang.SecurityException

Si la persona que llama no es propietaria del dispositivo ni del perfil.

com.google.android.managementapi.accountsetup.AccountSetupInvalidStateException

Si el intento de configuración de la cuenta no está en el estado AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

launchAuthenticationActivityFuture

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttemptlaunchAuthenticationActivityFuture(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

Inicia la actividad de Minute Maid para autenticar al usuario o el selector de cuentas si la cuenta ya está presente en el dispositivo.

Parámetros
@NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest

Es la solicitud para iniciar la actividad de autenticación. La solicitud debe contener un intento de configuración de la cuenta en estado AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

Muestra
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

Un ListenableFuture que contiene el resultado. Puede ser

  • Es un futuro exitoso que encapsula un intento de configuración de la cuenta en estado IN_PROGRESS, en caso de éxito.

  • Un objeto Future fallido que contiene un SecurityException, si el llamador no es propietario del dispositivo ni del perfil.

  • Es un futuro que falló y que encapsula un AccountSetupInvalidStateException si el intento de configuración de la cuenta no está en el estado AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

listAccountSetupAttempts

abstract @NonNull List<@NonNull AccountSetupAttemptlistAccountSetupAttempts()

Enumera todos los intentos de configuración de la cuenta. Solo se muestran los últimos 20 intentos de configuración de la cuenta.

Muestra
@NonNull List<@NonNull AccountSetupAttempt>

Es una lista de todos los intentos de configuración de la cuenta.

listAccountSetupAttemptsFuture

abstract @NonNull ListenableFuture<@NonNull List<@NonNull AccountSetupAttempt>> listAccountSetupAttemptsFuture()

Enumera todos los intentos de configuración de la cuenta. Solo se muestran los últimos 20 intentos de configuración de la cuenta.

Muestra
@NonNull ListenableFuture<@NonNull List<@NonNull AccountSetupAttempt>>

Un ListenableFuture que contiene el resultado.

startAccountSetup

abstract @NonNull AccountSetupAttempt startAccountSetup(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Inicia la configuración de la cuenta.

NOTA: Este método delega el alcance de android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS a la app de Android Device Policy, lo que le permite administrar las restricciones de las apps en nombre del administrador que realiza la llamada. Una vez que se complete la configuración de la cuenta, se quitará este alcance de delegación a Android Device Policy.

Parámetros
@NonNull StartAccountSetupRequest startAccountSetupRequest

Es la solicitud para iniciar la configuración de la cuenta.

Muestra
@NonNull AccountSetupAttempt

Es el intento de configuración de la cuenta.

Arroja
com.google.android.managementapi.environment.exception.EnvironmentNotReadyException

si el entorno no está preparado.

com.google.android.managementapi.accountsetup.AccountSetupUnknownException

Si se produce un error desconocido durante la configuración de la cuenta

com.google.android.managementapi.accountsetup.AccountSetupInvalidEnrollmentTokenException

si el token de inscripción está vacío o no se configuró en la solicitud

com.google.android.managementapi.accountsetup.AccountSetupInvalidAdminComponentException

si el componente de administrador DeviceAdminReceiver no es un administrador activo en el dispositivo

com.google.android.managementapi.accountsetup.AccountSetupInvalidNotificationReceiverComponentException

si el componente receptor de notificaciones no está presente en el dispositivo.

startAccountSetupFuture

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttemptstartAccountSetupFuture(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Inicia la configuración de la cuenta.

NOTA: Este método delega el alcance de android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS a la app de Android Device Policy, lo que le permite administrar las restricciones de las apps en nombre del administrador que realiza la llamada. Una vez que se complete la configuración de la cuenta, se quitará este alcance de delegación a Android Device Policy.

Parámetros
@NonNull StartAccountSetupRequest startAccountSetupRequest

Es la solicitud para iniciar la configuración de la cuenta.

Muestra
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

Un ListenableFuture que contiene el resultado. Puede ser