EnvironmentClient

interface EnvironmentClient


Ortamla ilgili API'lere erişmek için istemci.

Örnek oluşturmak için EnvironmentClientFactory uygulamasını kullanın.

Özet

Herkese açık işlevler

suspend Environment

Environment değerini döndürür.

ListenableFuture<Environment>

Environment değerini döndürür.

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

Cihaz ortamını hazırlar.

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

Cihaz ortamını hazırlar.

Herkese açık işlevler

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Environment değerini döndürür. Arayanın ortamın hazır olup olmadığını bilmesine yardımcı olur.

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

İstenen roller geçerli değilse.

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

Arama, dahili bir hata nedeniyle başarısız olduysa.

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

Cihazın SDK API düzeyi, istenen belirli roller için yeterli değilse (bu, çağrı için genel minimum API düzeyi şartına ek olarak geçerli olabilir). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} için API düzeyi 23 veya üstü gerekir. Diğer tüm roller için API düzeyi 28 veya üstü gerekir.

getEnvironmentAsync

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

Environment değerini döndürür. Arayanın ortamın hazır olup olmadığını bilmesine yardımcı olur.

İadeler
ListenableFuture<Environment>

Sonucu saran bir ListenableFuture. Şunlardan biri olabilir:

  • Başarı durumunda Environment içeren başarılı bir gelecek.

  • Gelecekteki bir sarmalama başarısız oldu

  • İstenen roller geçerli değilse InvalidArgumentException sarmalayan başarısız bir gelecek.

  • Dahili bir hata nedeniyle arama başarısız olursa InternalException sarmalayan başarısız bir gelecek.

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

Cihazın SDK API düzeyi, istenen belirli roller için yeterli değilse (bu, çağrı için genel minimum API düzeyi şartına ek olarak geçerli olabilir). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} için API düzeyi 23 veya üstü gerekir. Diğer tüm roller için API düzeyi 28 veya üstü gerekir.

prepareEnvironment

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

Cihaz ortamını hazırlar.

Kullanıcıdan gerekli Android Device Policy uygulamasını yüklemesi istenir. Kullanıcı istemi kabul ederse yükleme işlemine devam edilir. Başarılı bir yüklemenin ardından, Android Device Policy uygulamasının hazır olduğundan emin olmak için işlemler gerçekleştirir.

Parametreler
notificationServiceComponentName: ComponentName?

ComponentName hizmetinin NotificationReceiverService. Sağlanıyorsa arayan uygulamaya ait geçerli bir bileşen olmalı ve manifestte dışa aktarılmış olmalıdır. Ortam hazırlama etkinlikleriyle ilgili bildirim almak için:

  1. Uygulamanızda EnvironmentListener arayüzünü uygulayın.

  2. Alınan etkinliklerin nasıl işleneceğine dair bir uygulama sağlayın.

  3. NotificationReceiverService'i genişletin ve bir EnvironmentListener örneği sağlayın.

  4. Genişletilmiş NotificationReceiverService sınıfını AndroidManifest.xml dosyanıza ekleyin ve dışa aktarıldığından emin olun.

Örneğin:

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

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

PrepareEnvironmentResponse ortam hazırlığının son durumuyla ilgili ayrıntıları içerir.

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

Eğer:

  • [notificationServiceComponentName], çağıran uygulamaya ait geçerli bir bileşen değil veya manifestte dışa aktarılmamış.
  • İstenen roller {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} içeriyor ve {@code {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} sağlanmıyor veya {@code android.app.admin.DeviceAdminReceiver} öğesini genişletmiyor.
  • İstenen roller geçerli değil.
java.lang.SecurityException

Arayan kullanıcının bu API'yi çağırma yetkisi yoksa.

com.google.android.managementapi.environment.exception.GooglePlayServicesAppNotUpdatedException Google Play Hizmetleri güncel değilse

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateUnrecoverableException Android Cihaz Politikası yüklenemez veya güncellenemezse ve hata kurtarılamazsa

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateRecoverableException Android Cihaz Politikası uygulaması yüklenemezse veya güncellenemezse ve hata kurtarılabilirse (ör. istek, geçici ağ sorunları nedeniyle başarısız olduysa) istek yeniden denenebilir.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDeclinedException Kullanıcı, Android Device Policy uygulamasını yüklemeyi reddederse.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDismissedException Kullanıcı, yükleme izni ekranını kapatırsa.

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

Arama, dahili bir hata nedeniyle başarısız olduysa.

com.google.android.managementapi.environment.exception.PlayStoreUpdateUnrecoverableException Play Store güncellemesi başarısız olduysa.

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

Cihazın SDK API düzeyi, istenen belirli roller için yeterli değilse (bu, çağrı için genel minimum API düzeyi şartına ek olarak olabilir).{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} için API düzeyi 23 veya üstü gerekir. Diğer tüm roller için API düzeyi 28 veya üstü gerekir.

prepareEnvironmentAsync

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

Cihaz ortamını hazırlar.

Kullanıcıdan gerekli Android Device Policy uygulamasını yüklemesi istenir. Kullanıcı istemi kabul ederse yükleme işlemine devam edilir. Başarılı bir yüklemenin ardından, Android Device Policy uygulamasının hazır olduğundan emin olmak için işlemler gerçekleştirir.

Parametreler
notificationServiceComponentName: ComponentName?

ComponentName hizmetinin NotificationReceiverService. Sağlanıyorsa arayan uygulamaya ait geçerli bir bileşen olmalı ve manifestte dışa aktarılmış olmalıdır. Ortam hazırlama etkinlikleriyle ilgili bildirim almak için:

  1. Uygulamanızda EnvironmentListener arayüzünü uygulayın.

  2. Alınan etkinliklerin nasıl işleneceğine dair bir uygulama sağlayın.

  3. NotificationReceiverService'i genişletin ve bir EnvironmentListener örneği sağlayın.

  4. Genişletilmiş NotificationReceiverService sınıfını AndroidManifest.xml dosyanıza ekleyin ve dışa aktarıldığından emin olun.

Örneğin:

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

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

Sonucu saran bir ListenableFuture. Bu,

  • Ortam hazırlığının son durumuyla ilgili ayrıntılar içeren bir PrepareEnvironmentResponse ile başarılı bir gelecekteki sarmalama.

  • Aşağıdaki durumlarda InvalidArgumentException sarmalama işlemi başarısız olur:

    • [notificationServiceComponentName], çağıran uygulamaya ait geçerli bir bileşen değil veya manifest dosyasında dışa aktarılmamış.
    • İstenen roller geçerli değil.
  • İstenen roller {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} içeriyor ve {@code {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} sağlanmıyor veya {@code android.app.admin.DeviceAdminReceiver} öğesini genişletmiyor.
  • Gelecekteki bir sarmalama başarısız oldu

  • Arayan bu API'yi çağırmaya yetkili değilse SecurityException sarmalayan başarısız bir gelecek.

  • Google Play Hizmetleri güncel değilse GooglePlayServicesAppNotUpdatedException sarmalama işlemi başarısız olur.

  • Android Cihaz Politikası yüklenemez veya güncellenemezse ve hata kurtarılamazsa AndroidDevicePolicyInstallOrUpdateUnrecoverableException sarmalayan başarısız bir gelecek.

  • Android Cihaz Politikası uygulaması yüklenemezse veya güncellenemezse ve hata kurtarılabilirse (ör.istek, geçici ağ sorunları nedeniyle başarısız oldu) AndroidDevicePolicyInstallOrUpdateRecoverableException sarmalayan başarısız bir gelecek. Bu nedenle, istek yeniden denenebilir.

  • Kullanıcı Android Device Policy uygulamasını yüklemeyi reddederse AndroidDevicePolicyInstallConsentDeclinedException sarmalayan başarısız bir gelecek.

  • Kullanıcı yükleme izni ekranını kapatırsa AndroidDevicePolicyInstallConsentDismissedException sarmalayan başarısız bir gelecek.

  • Dahili bir hata nedeniyle arama başarısız olursa InternalException sarmalayan başarısız bir gelecek.

  • Play Store güncellemesi başarısız olursa PlayStoreUpdateUnrecoverableException sarmalayan başarısız bir gelecek.

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

    Cihazın SDK API düzeyi, istenen belirli roller için yeterli değilse. {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} için API düzeyi 23 veya üstü gerekir. Diğer tüm roller için API düzeyi 28 veya üstü gerekir.