EnvironmentClient

interface EnvironmentClient


Client per accedere alle API correlate all'ambiente.

Utilizza EnvironmentClientFactory per creare un'istanza.

Riepilogo

Funzioni pubbliche

suspend Environment

Restituisce Environment.

ListenableFuture<Environment>

Restituisce Environment.

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

Prepara l'ambiente del dispositivo.

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

Prepara l'ambiente del dispositivo.

Funzioni pubbliche

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Restituisce Environment. Aiuta il chiamante a sapere se l'ambiente è pronto o meno.

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

Se i ruoli richiesti non sono validi.

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

Se la chiamata non è riuscita a causa di un errore interno.

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

Se il livello API dell'SDK del dispositivo non è sufficiente per determinati ruoli richiesti (oltre a un requisito generale del livello API minimo per la chiamata stessa). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} richiede il livello API 23 o superiore. Tutti gli altri ruoli richiedono il livello API 28 o versioni successive.

getEnvironmentAsync

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

Restituisce Environment. Aiuta il chiamante a sapere se l'ambiente è pronto o meno.

Resi
ListenableFuture<Environment>

Un ListenableFuture che racchiude il risultato. Le opzioni possibili sono:

  • Un futuro riuscito che racchiude un Environment, in caso di successo.

  • Un futuro non riuscito che racchiude un InvalidArgumentException, se i ruoli richiesti non sono validi.

  • Un futuro non riuscito che racchiude un InternalException, se la chiamata non è riuscita a causa di un errore interno.

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

Se il livello API dell'SDK del dispositivo non è sufficiente per determinati ruoli richiesti (oltre a un requisito generale del livello API minimo per la chiamata stessa). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} richiede il livello API 23 o superiore. Tutti gli altri ruoli richiedono il livello API 28 o versioni successive.

prepareEnvironment

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

Prepara l'ambiente del dispositivo.

Chiede all'utente di installare l'applicazione Android Device Policy necessaria. L'installazione procede se l'utente accetta il prompt. Dopo l'installazione riuscita, esegue operazioni per assicurarsi che l'app Android Device Policy sia pronta.

Parametri
notificationServiceComponentName: ComponentName?

Il ComponentName del servizio che estende NotificationReceiverService. Se fornito, deve essere un componente valido appartenente all'app di chiamata ed esportato nel manifest. Per ricevere notifiche relative agli eventi di preparazione dell'ambiente, devi:

  1. Implementa l'interfaccia EnvironmentListener nella tua app.

  2. Fornisci un'implementazione per la gestione degli eventi ricevuti.

  3. Estendi NotificationReceiverService e fornisci un'istanza EnvironmentListener.

  4. Aggiungi la classe NotificationReceiverService estesa al file AndroidManifest.xml e assicurati che venga esportata.

Ad esempio:

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

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

PrepareEnvironmentResponse contenente i dettagli sullo stato finale della preparazione dell'ambiente.

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

Se:

  • [notificationServiceComponentName] non è un componente valido appartenente all'app chiamante o non è stato esportato nel manifest.
  • I ruoli richiesti includono {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} e {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} non è fornito o non estende {@code android.app.admin.DeviceAdminReceiver}.
  • I ruoli richiesti non sono validi.
java.lang.SecurityException

Se il chiamante non è autorizzato a chiamare questa API.

com.google.android.managementapi.environment.GooglePlayServicesAppNotUpdatedException

Se Google Play Services non è aggiornato.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateUnrecoverableException

Se l'installazione o l'aggiornamento di Android Device Policy non va a buon fine e l'errore è irrecuperabile.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateRecoverableException

Se l'installazione o l'aggiornamento dell'app Android Device Policy non riesce e l'errore è recuperabile (ad es. la richiesta non è riuscita a causa di problemi di rete temporanei), la richiesta può essere ritentata.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDeclinedException

Se l'utente rifiuta di installare l'app Android Device Policy.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDismissedException

Se l'utente ignora la schermata per il consenso dell'installazione.

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

Se la chiamata non è riuscita a causa di un errore interno.

com.google.android.managementapi.environment.PlayStoreUpdateUnrecoverableException

Se l'aggiornamento del Play Store non è riuscito.

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

Se il livello API dell'SDK del dispositivo non è sufficiente per determinati ruoli richiesti (questo potrebbe aggiungersi a un requisito generale del livello API minimo per la chiamata stessa).{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} richiede il livello API 23 o versioni successive. Tutti gli altri ruoli richiedono il livello API 28 o versioni successive.

prepareEnvironmentAsync

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

Prepara l'ambiente del dispositivo.

Chiede all'utente di installare l'applicazione Android Device Policy necessaria. L'installazione procede se l'utente accetta il prompt. Dopo l'installazione riuscita, esegue operazioni per assicurarsi che l'app Android Device Policy sia pronta.

Parametri
notificationServiceComponentName: ComponentName?

Il ComponentName del servizio che estende NotificationReceiverService. Se fornito, deve essere un componente valido appartenente all'app di chiamata ed esportato nel manifest. Per ricevere notifiche sugli eventi di preparazione dell'ambiente, devi:

  1. Implementa l'interfaccia EnvironmentListener nella tua app.

  2. Fornisci un'implementazione per la gestione degli eventi ricevuti.

  3. Estendi NotificationReceiverService e fornisci un'istanza EnvironmentListener.

  4. Aggiungi la classe NotificationReceiverService estesa al file AndroidManifest.xml e assicurati che venga esportata.

Ad esempio:

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

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

Un ListenableFuture che racchiude il risultato. Può essere

  • Un futuro riuscito che racchiude un PrepareEnvironmentResponse contenente i dettagli sullo stato finale della preparazione dell'ambiente.

  • Un futuro non riuscito che racchiude un InvalidArgumentException se:

    • [notificationServiceComponentName] non è un componente valido appartenente all'app chiamante o non è stato esportato nel manifest.
    • I ruoli richiesti non sono validi.
    • I ruoli richiesti includono {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} e {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} non è fornito o non estende {@code android.app.admin.DeviceAdminReceiver}.
  • Un futuro non riuscito che racchiude un SecurityException, se il chiamante non è autorizzato a chiamare questa API.

  • Un futuro non riuscito che racchiude un GooglePlayServicesAppNotUpdatedException se Google Play Services non è aggiornato.

  • Un futuro non riuscito che racchiude un AndroidDevicePolicyInstallOrUpdateUnrecoverableException se l'app Android Device Policy non viene installata o aggiornata e l'errore è irrecuperabile.

  • Un futuro non riuscito che racchiude un AndroidDevicePolicyInstallOrUpdateRecoverableException se l'app Android Device Policy non viene installata o aggiornata e l'errore è recuperabile (ad es. la richiesta non è riuscita a causa di problemi di rete temporanei), in modo che la richiesta possa essere ritentata.

  • Un futuro non riuscito che racchiude un AndroidDevicePolicyInstallConsentDeclinedException se l'utente rifiuta di installare l'app Android Device Policy.

  • Un futuro non riuscito che racchiude un AndroidDevicePolicyInstallConsentDismissedException se l'utente chiude la schermata di consenso all'installazione.

  • Un futuro non riuscito che racchiude un InternalException, se la chiamata non è riuscita a causa di un errore interno.

  • Un futuro non riuscito che racchiude un PlayStoreUpdateUnrecoverableException se l'aggiornamento del Play Store non è riuscito.

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

Se il livello API SDK del dispositivo non è sufficiente per determinati ruoli richiesti. {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} richiede il livello API 23 o superiore. Tutti gli altri ruoli richiedono il livello API 28 o versioni successive.