EnvironmentClient

interface EnvironmentClient


Client permettant d'accéder aux API liées à l'environnement.

Utilisez EnvironmentClientFactory pour créer une instance.

Résumé

Fonctions publiques

suspend Environment

Renvoie Environment.

ListenableFuture<Environment>

Renvoie Environment.

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

Prépare l'appareil en s'assurant que l'application Android Device Policy est installée et prête à l'emploi.

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

Prépare l'appareil en s'assurant que l'application Android Device Policy est installée et prête à l'emploi.

Fonctions publiques

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Renvoie Environment. Il permet à l'appelant de savoir si l'environnement est prêt ou non.

Génère
com.google.android.managementapi.common.exceptions.InvalidArgumentException

Si les rôles demandés ne sont pas valides.

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

Si l'appel a échoué en raison d'une erreur interne.

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

Si le niveau d'API du SDK de l'appareil est insuffisant pour certains rôles demandés (en plus d'une exigence générale de niveau d'API minimal pour l'appel lui-même). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} nécessite le niveau d'API 23 ou supérieur. Tous les autres rôles nécessitent le niveau d'API 28 ou supérieur.

getEnvironmentAsync

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

Renvoie Environment. Il permet à l'appelant de savoir si l'environnement est prêt ou non.

Renvoie
ListenableFuture<Environment>

Un ListenableFuture encapsulant le résultat. Il peut s'agir de :

  • Un avenir réussi encapsulant un Environment, en cas de succès.

  • Un futur ayant échoué encapsulant un InvalidArgumentException, si les rôles demandés ne sont pas valides.

  • Un futur échec encapsulant un InternalException, si l'appel a échoué en raison d'une erreur interne.

Génère
com.google.android.managementapi.common.exceptions.ApiLevelException

Si le niveau d'API du SDK de l'appareil est insuffisant pour certains rôles demandés (en plus d'une exigence générale de niveau d'API minimal pour l'appel lui-même). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} nécessite le niveau d'API 23 ou supérieur. Tous les autres rôles nécessitent le niveau d'API 28 ou supérieur.

prepareEnvironment

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

Prépare l'appareil en s'assurant que l'application Android Device Policy est installée et prête à l'emploi.

Le comportement dépend du contexte :

  • Flux de confiance de l'appareil : si l'application Android Device Policy n'est pas installée, l'utilisateur est invité à l'installer. Si l'application est déjà installée, elle est mise à jour en arrière-plan.

  • Flux d'enregistrement de l'appareil : installe silencieusement l'application Android Device Policy si elle n'est pas déjà installée et s'assure qu'elle est prête à l'emploi, sans intervention de l'utilisateur.

Paramètres
notificationServiceComponentName: ComponentName?

Le ComponentName du service étendant NotificationReceiverService. Si elle est fournie, il doit s'agir d'un composant valide appartenant à l'application appelante et exporté dans le fichier manifeste. Pour recevoir des notifications concernant les événements de préparation de l'environnement, vous devez :

  1. Implémentez l'interface EnvironmentListener dans votre application.

  2. Fournissez une implémentation pour gérer les événements reçus.

  3. Étendez NotificationReceiverService et fournissez une instance EnvironmentListener.

  4. Ajoutez la classe NotificationReceiverService étendue à votre fichier AndroidManifest.xml et assurez-vous qu'elle est exportée.

Exemple :

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

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

PrepareEnvironmentResponse contenant des informations sur l'état final de la préparation de l'environnement.

Génère
com.google.android.managementapi.common.exceptions.InvalidArgumentException

Si :

  • [notificationServiceComponentName] n'est pas un composant valide appartenant à l'application appelante ou n'est pas exporté dans le fichier manifeste.
  • Les rôles demandés incluent {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} et le {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} n'est pas fourni ou n'étend pas {@code android.app.admin.DeviceAdminReceiver}.
  • Les rôles demandés ne sont pas valides.
java.lang.SecurityException

Si l'appelant n'est pas autorisé à appeler cette API.

com.google.android.managementapi.environment.GooglePlayServicesAppNotUpdatedException

Si les services Google Play ne sont pas à jour.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateUnrecoverableException

Si Android Device Policy ne parvient pas à s'installer ou à se mettre à jour, et que l'erreur est irrécupérable.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateRecoverableException

Si l'application Android Device Policy ne parvient pas à s'installer ou à se mettre à jour, et que l'erreur est récupérable (par exemple, la requête a échoué en raison de problèmes réseau temporaires), la requête peut être réessayée.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDeclinedException

Si l'utilisateur refuse d'installer l'application Android Device Policy.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDismissedException

Si l'utilisateur ferme l'écran de consentement pour l'installation.

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

Si l'appel a échoué en raison d'une erreur interne.

com.google.android.managementapi.environment.PlayStoreUpdateUnrecoverableException

Si la mise à jour du Play Store a échoué.

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

Si le niveau d'API du SDK de l'appareil est insuffisant pour certains rôles demandés (en plus d'une exigence générale de niveau d'API minimal pour l'appel lui-même).{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} nécessite le niveau d'API 23 ou supérieur. Tous les autres rôles nécessitent le niveau d'API 28 ou supérieur.

prepareEnvironmentAsync

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

Prépare l'appareil en s'assurant que l'application Android Device Policy est installée et prête à l'emploi.

Le comportement dépend du contexte :

  • Flux de confiance de l'appareil : si l'application Android Device Policy n'est pas installée, l'utilisateur est invité à l'installer. Si l'application est déjà installée, elle est mise à jour en arrière-plan.

  • Flux d'enregistrement de l'appareil : installe silencieusement l'application Android Device Policy si elle n'est pas déjà installée et s'assure qu'elle est prête à l'emploi, sans intervention de l'utilisateur.

Paramètres
notificationServiceComponentName: ComponentName?

Le ComponentName du service étendant NotificationReceiverService. Si elle est fournie, il doit s'agir d'un composant valide appartenant à l'application appelante et exporté dans le fichier manifeste. Pour recevoir des notifications concernant les événements de préparation de l'environnement, vous devez :

  1. Implémentez l'interface EnvironmentListener dans votre application.

  2. Fournissez une implémentation pour gérer les événements reçus.

  3. Étendez NotificationReceiverService et fournissez une instance EnvironmentListener.

  4. Ajoutez la classe NotificationReceiverService étendue à votre fichier AndroidManifest.xml et assurez-vous qu'elle est exportée.

Exemple :

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

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

Un ListenableFuture encapsulant le résultat. Il peut s'agir de

  • Un future réussi encapsulant un PrepareEnvironmentResponse contenant des informations sur l'état final de la préparation de l'environnement.

  • Un futur en échec encapsulant un InvalidArgumentException si :

    • [notificationServiceComponentName] n'est pas un composant valide appartenant à l'application appelante ou n'est pas exporté dans le fichier manifeste.
    • Les rôles demandés ne sont pas valides.
    • Les rôles demandés incluent {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} et le {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} n'est pas fourni ou n'étend pas {@code android.app.admin.DeviceAdminReceiver}.
  • Un futur échec encapsulant un SecurityException, si l'appelant n'est pas autorisé à appeler cette API.

  • Un avenir en échec encapsulant un GooglePlayServicesAppNotUpdatedException si les services Google Play ne sont pas à jour.

  • Future ayant échoué, encapsulant un AndroidDevicePolicyInstallOrUpdateUnrecoverableException si la mise à jour ou l'installation d'Android Device Policy échoue et que l'erreur est irrécupérable.

  • Un échec futur encapsulant un AndroidDevicePolicyInstallOrUpdateRecoverableException si l'application Android Device Policy ne parvient pas à s'installer ou à se mettre à jour et que l'erreur est récupérable (par exemple, la requête a échoué en raison de problèmes réseau temporaires), de sorte que la requête peut être réessayée.

  • Un échec futur encapsulant un AndroidDevicePolicyInstallConsentDeclinedException si l'utilisateur refuse d'installer l'application Android Device Policy.

  • Un futur échec encapsulant un AndroidDevicePolicyInstallConsentDismissedException si l'utilisateur ferme l'écran d'autorisation d'installation.

  • Un futur échec encapsulant un InternalException, si l'appel a échoué en raison d'une erreur interne.

  • Un échec futur encapsulant un PlayStoreUpdateUnrecoverableException si la mise à jour du Play Store a échoué.

Génère
com.google.android.managementapi.common.exceptions.ApiLevelException

Si le niveau d'API du SDK de l'appareil est insuffisant pour certains rôles demandés. {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} nécessite le niveau d'API 23 ou supérieur. Tous les autres rôles nécessitent le niveau d'API 28 ou supérieur.