EnvironmentClient

interface EnvironmentClient


Cliente para acceder a las APIs relacionadas con el entorno.

Usa EnvironmentClientFactory para crear una instancia.

Resumen

Funciones públicas

suspend Environment

Devuelve el objeto Environment.

ListenableFuture<Environment>

Devuelve el objeto Environment.

suspend PrepareEnvironmentResponse
prepareEnvironment(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
)

Prepara el entorno del dispositivo.

ListenableFuture<PrepareEnvironmentResponse>
prepareEnvironmentAsync(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
)

Prepara el entorno del dispositivo.

Funciones públicas

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Devuelve el objeto Environment. Ayuda a la persona que llama a saber si el entorno está listo o no.

Arroja
com.google.android.managementapi.common.exceptions.InvalidArgumentException

Si los roles solicitados no son válidos

com.google.android.managementapi.common.exceptions.InternalException

Si la llamada falló debido a un error interno.

com.google.android.managementapi.common.exceptions.ApiLevelException

Si el nivel de API del SDK del dispositivo no es suficiente para ciertos roles solicitados (esto puede ser adicional a un requisito general de nivel de API mínimo para la llamada en sí) {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} requiere el nivel de API 23 o superior. Cualquier otro rol requiere el nivel de API 28 o superior.

getEnvironmentAsync

fun getEnvironmentAsync(request: GetEnvironmentRequest): ListenableFuture<Environment>

Devuelve el objeto Environment. Ayuda a la persona que llama a saber si el entorno está listo o no.

Muestra
ListenableFuture<Environment>

Un ListenableFuture que contiene el resultado. Puede ser:

  • Un futuro exitoso que encapsula un Environment en caso de éxito.

  • Un futuro fallido que envuelve un

  • Es un futuro con errores que contiene un InvalidArgumentException si los roles solicitados no son válidos.

  • Es un futuro fallido que contiene un InternalException si la llamada falló debido a un error interno.

Arroja
com.google.android.managementapi.common.exceptions.ApiLevelException

Si el nivel de API del SDK del dispositivo no es suficiente para ciertos roles solicitados (esto puede ser adicional a un requisito general de nivel de API mínimo para la llamada en sí) {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} requiere el nivel de API 23 o superior. Cualquier otro rol requiere el nivel de API 28 o superior.

prepareEnvironment

suspend fun prepareEnvironment(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): PrepareEnvironmentResponse

Prepara el entorno del dispositivo.

Solicita al usuario que instale la aplicación de Android Device Policy necesaria. Continúa con la instalación si el usuario acepta el mensaje. Después de la instalación correcta, realiza operaciones para asegurarse de que la app de Android Device Policy esté lista.

Parámetros
notificationServiceComponentName: ComponentName?

Es el ComponentName del servicio que extiende NotificationReceiverService. Si se proporciona, debe ser un componente válido que pertenezca a la app que realiza la llamada y que se haya exportado en el manifiesto. Para recibir notificaciones sobre los eventos de preparación del entorno, debes hacer lo siguiente:

  1. Implementa la interfaz EnvironmentListener en tu app.

  2. Proporciona una implementación para controlar los eventos recibidos.

  3. Extiende NotificationReceiverService y proporciona una instancia de EnvironmentListener.

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

Por ejemplo:

class MyEnvironmentListener : EnvironmentListener {
override fun onEnvironmentEvent(event: EnvironmentEvent) {
// Handle the environment event.
}
}

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
Muestra
PrepareEnvironmentResponse

PrepareEnvironmentResponse que contiene detalles sobre el estado final de la preparación del entorno.

Arroja
com.google.android.managementapi.common.exceptions.InvalidArgumentException

Si:

  • [notificationServiceComponentName] no es un componente válido que pertenece a la app que realiza la llamada o no se exportó en el manifiesto.
  • Los roles solicitados incluyen {@code Role.RoleType.DEVICE_POLICY_CONTROLLER}, y no se proporciona {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} o no extiende {@code android.app.admin.DeviceAdminReceiver}.
  • Los roles solicitados no son válidos.
java.lang.SecurityException

Si el llamador no está autorizado para llamar a esta API.

com.google.android.managementapi.environment.exception.GooglePlayServicesAppNotUpdatedException Si los Servicios de Google Play no están actualizados

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateUnrecoverableException Si la Política de Dispositivos Android no se puede instalar o actualizar, y el error es irrecuperable.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateRecoverableException Si la app de Política de Dispositivos Android no se instala o actualiza, y el error se puede recuperar (p.ej., la solicitud falló debido a problemas de red transitorios), se puede volver a intentar la solicitud.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDeclinedException Si el usuario rechaza la instalación de la app de Android Device Policy

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDismissedException Si el usuario descarta la pantalla de consentimiento de instalación.

com.google.android.managementapi.common.exceptions.InternalException

Si la llamada falló debido a un error interno.

com.google.android.managementapi.environment.exception.PlayStoreUpdateUnrecoverableException Si falló la actualización de Play Store.

com.google.android.managementapi.common.exceptions.ApiLevelException

Si el nivel de API del SDK del dispositivo no es suficiente para ciertos roles solicitados (esto puede ser adicional a un requisito general de nivel de API mínimo para la llamada en sí).{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} requiere el nivel de API 23 o superior. Cualquier otro rol requiere el nivel de API 28 o superior.

prepareEnvironmentAsync

fun prepareEnvironmentAsync(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): ListenableFuture<PrepareEnvironmentResponse>

Prepara el entorno del dispositivo.

Solicita al usuario que instale la aplicación de Android Device Policy necesaria. Continúa con la instalación si el usuario acepta el mensaje. Después de la instalación correcta, realiza operaciones para asegurarse de que la app de Android Device Policy esté lista.

Parámetros
notificationServiceComponentName: ComponentName?

Es el ComponentName del servicio que extiende NotificationReceiverService. Si se proporciona, debe ser un componente válido que pertenezca a la app que realiza la llamada y que se haya exportado en el manifiesto. Para recibir notificaciones sobre los eventos de preparación del entorno, debes hacer lo siguiente:

  1. Implementa la interfaz EnvironmentListener en tu app.

  2. Proporciona una implementación para controlar los eventos recibidos.

  3. Extiende NotificationReceiverService y proporciona una instancia de EnvironmentListener.

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

Por ejemplo:

class MyEnvironmentListener : EnvironmentListener {
override fun onEnvironmentEvent(event: EnvironmentEvent) {
// Handle the environment event.
}
}

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
Muestra
ListenableFuture<PrepareEnvironmentResponse>

Un ListenableFuture que contiene el resultado. Puede ser

  • Un objeto Future exitoso que encapsula un objeto PrepareEnvironmentResponse que contiene detalles sobre el estado final de la preparación del entorno.

  • Un futuro fallido que contiene un InvalidArgumentException si se cumple alguna de las siguientes condiciones:

    • [notificationServiceComponentName] no es un componente válido que pertenece a la app que realiza la llamada o no se exportó en el manifiesto.
    • Los roles solicitados no son válidos.
  • Los roles solicitados incluyen {@code Role.RoleType.DEVICE_POLICY_CONTROLLER}, y no se proporciona {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} o no extiende {@code android.app.admin.DeviceAdminReceiver}.
  • Un futuro fallido que envuelve un

  • Es un futuro fallido que contiene un SecurityException si el llamador no está autorizado para llamar a esta API.

  • Es un futuro fallido que contiene un GooglePlayServicesAppNotUpdatedException si los Servicios de Google Play no están actualizados.

  • Es un futuro con errores que contiene un AndroidDevicePolicyInstallOrUpdateUnrecoverableException si la Política de Dispositivos Android no se puede instalar o actualizar, y el error es irrecuperable.

  • Es un futuro con errores que contiene un AndroidDevicePolicyInstallOrUpdateRecoverableException si no se puede instalar o actualizar la app de Android Device Policy y el error es recuperable (p.ej., la solicitud falló debido a problemas de red transitorios), por lo que se puede volver a intentar la solicitud.

  • Es un futuro con errores que encapsula un AndroidDevicePolicyInstallConsentDeclinedException si el usuario rechaza la instalación de la app de Android Device Policy.

  • Es un futuro fallido que encapsula un AndroidDevicePolicyInstallConsentDismissedException si el usuario descarta la pantalla de consentimiento de instalación.

  • Es un futuro fallido que contiene un InternalException si la llamada falló debido a un error interno.

  • Es un futuro fallido que encapsula un PlayStoreUpdateUnrecoverableException si falló la actualización de Play Store.

  • Arroja
    com.google.android.managementapi.common.exceptions.ApiLevelException

    Si el nivel de API del SDK del dispositivo no es suficiente para ciertos roles solicitados {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} requiere el nivel de API 23 o superior. Cualquier otro rol requiere el nivel de API 28 o superior.