EnvironmentClient

public interface EnvironmentClient


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

Utilisez EnvironmentClientFactory pour créer une instance.

Résumé

Méthodes publiques

abstract @NonNull Environment

Renvoie Environment.

abstract @NonNull ListenableFuture<@NonNull Environment>

Renvoie Environment.

abstract @NonNull PrepareEnvironmentResponse
prepareEnvironment(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

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

abstract @NonNull ListenableFuture<@NonNull PrepareEnvironmentResponse>
prepareEnvironmentAsync(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

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

Méthodes publiques

getEnvironment

abstract @NonNull Environment getEnvironment(@NonNull GetEnvironmentRequest request)

Renvoie Environment. Cela 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

abstract @NonNull ListenableFuture<@NonNull EnvironmentgetEnvironmentAsync(@NonNull GetEnvironmentRequest request)

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

Renvoie
@NonNull ListenableFuture<@NonNull 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

abstract @NonNull PrepareEnvironmentResponse prepareEnvironment(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

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
ComponentName notificationServiceComponentName

Le ComponentName du service étendant NotificationReceiverService. Si elle est fournie, elle doit être un composant valide appartenant à l'application appelante et exportée 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
@NonNull 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 {@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

abstract @NonNull ListenableFuture<@NonNull PrepareEnvironmentResponseprepareEnvironmentAsync(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

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
ComponentName notificationServiceComponentName

Le ComponentName du service étendant NotificationReceiverService. Si elle est fournie, elle doit être un composant valide appartenant à l'application appelante et exportée 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
@NonNull ListenableFuture<@NonNull PrepareEnvironmentResponse>

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

  • Un avenir réussi encapsulant un PrepareEnvironmentResponse contenant des détails 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 {@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 échec futur encapsulant un GooglePlayServicesAppNotUpdatedException si les services Google Play ne sont pas à jour.

  • Un futur échec encapsulant un AndroidDevicePolicyInstallOrUpdateUnrecoverableException si Android Device Policy ne parvient pas à s'installer ou à se mettre à jour, 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 de consentement à l'installation.

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

  • Un futur échec 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.