EnvironmentClient

interface EnvironmentClient


Klien untuk mengakses API terkait lingkungan.

Gunakan EnvironmentClientFactory untuk membuat instance.

Ringkasan

Fungsi publik

suspend Environment

Menampilkan Environment.

ListenableFuture<Environment>

Menampilkan Environment.

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

Menyiapkan lingkungan perangkat.

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

Menyiapkan lingkungan perangkat.

Fungsi publik

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Menampilkan Environment. Hal ini membantu penelepon mengetahui apakah lingkungan sudah siap atau belum.

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

Jika peran yang diminta tidak valid.

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

Jika panggilan gagal karena error internal.

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

Jika level API SDK perangkat tidak memadai untuk peran tertentu yang diminta (ini mungkin selain persyaratan level API minimum umum untuk panggilan itu sendiri). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} memerlukan API level 23 atau yang lebih tinggi. Peran lainnya memerlukan API level 28 atau yang lebih tinggi.

getEnvironmentAsync

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

Menampilkan Environment. Hal ini membantu penelepon mengetahui apakah lingkungan sudah siap atau belum.

Hasil
ListenableFuture<Environment>

ListenableFuture yang membungkus hasilnya. Hal ini dapat berupa:

  • Future yang berhasil membungkus Environment, jika berhasil.

  • Kegagalan masa depan yang membungkus a

  • Gagal di masa mendatang yang membungkus InvalidArgumentException, jika peran yang diminta tidak valid.

  • Future yang gagal membungkus InternalException, jika panggilan gagal karena error internal.

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

Jika level API SDK perangkat tidak memadai untuk peran tertentu yang diminta (ini mungkin selain persyaratan level API minimum umum untuk panggilan itu sendiri). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} memerlukan API level 23 atau yang lebih tinggi. Peran lainnya memerlukan API level 28 atau yang lebih tinggi.

prepareEnvironment

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

Menyiapkan lingkungan perangkat.

Mendorong pengguna untuk menginstal aplikasi Android Device Policy yang diperlukan. Melanjutkan penginstalan jika pengguna menyetujui perintah. Setelah penginstalan berhasil, aplikasi ini akan melakukan operasi untuk memastikan aplikasi Android Device Policy siap.

Parameter
notificationServiceComponentName: ComponentName?

ComponentName layanan yang memperluas NotificationReceiverService. Jika disediakan, komponen tersebut harus merupakan komponen valid milik aplikasi yang memanggil, dan diekspor dalam manifes. Untuk mendapatkan notifikasi peristiwa Persiapan lingkungan, Anda harus:

  1. Terapkan antarmuka EnvironmentListener di aplikasi Anda.

  2. Berikan penerapan cara menangani peristiwa yang diterima.

  3. Perluas NotificationReceiverService dan berikan instance EnvironmentListener.

  4. Tambahkan class NotificationReceiverService yang diperluas ke AndroidManifest.xml dan pastikan class tersebut diekspor.

Contoh:

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

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

PrepareEnvironmentResponse yang berisi detail tentang status akhir penyiapan lingkungan.

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

Jika:

  • [notificationServiceComponentName] bukan komponen valid milik aplikasi penelepon atau tidak diekspor dalam manifes.
  • Peran yang diminta mencakup {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} dan {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} tidak diberikan atau tidak memperluas {@code android.app.admin.DeviceAdminReceiver}.
  • Peran yang diminta tidak valid.
java.lang.SecurityException

Jika pemanggil tidak diizinkan untuk memanggil API ini.

com.google.android.managementapi.environment.exception.GooglePlayServicesAppNotUpdatedException Jika Layanan Google Play belum diupdate.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateUnrecoverableException Jika Kebijakan Perangkat Android gagal diinstal atau diupdate dan error tidak dapat dipulihkan.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateRecoverableException Jika aplikasi Kebijakan Perangkat Android gagal diinstal atau diupdate dan error dapat dipulihkan (misalnya, permintaan gagal karena masalah jaringan sementara), permintaan dapat dicoba lagi.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDeclinedException Jika pengguna menolak menginstal aplikasi Android Device Policy.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDismissedException Jika pengguna menutup layar izin penginstalan.

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

Jika panggilan gagal karena error internal.

com.google.android.managementapi.environment.exception.PlayStoreUpdateUnrecoverableException Jika update Play Store gagal.

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

Jika level API SDK perangkat tidak mencukupi untuk peran tertentu yang diminta (ini mungkin selain persyaratan level API minimum umum untuk panggilan itu sendiri).{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} memerlukan level API 23 atau yang lebih tinggi. Peran lainnya memerlukan API level 28 atau yang lebih tinggi.

prepareEnvironmentAsync

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

Menyiapkan lingkungan perangkat.

Mendorong pengguna untuk menginstal aplikasi Android Device Policy yang diperlukan. Melanjutkan penginstalan jika pengguna menyetujui perintah. Setelah penginstalan berhasil, aplikasi ini akan melakukan operasi untuk memastikan aplikasi Android Device Policy siap.

Parameter
notificationServiceComponentName: ComponentName?

ComponentName layanan yang memperluas NotificationReceiverService. Jika disediakan, komponen tersebut harus merupakan komponen valid milik aplikasi yang memanggil, dan diekspor dalam manifes. Untuk mendapatkan notifikasi peristiwa penyiapan lingkungan, Anda harus:

  1. Terapkan antarmuka EnvironmentListener di aplikasi Anda.

  2. Berikan penerapan cara menangani peristiwa yang diterima.

  3. Perluas NotificationReceiverService dan berikan instance EnvironmentListener.

  4. Tambahkan class NotificationReceiverService yang diperluas ke AndroidManifest.xml dan pastikan class tersebut diekspor.

Contoh:

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

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

ListenableFuture yang membungkus hasilnya. Hal ini dapat berupa

  • Future yang berhasil membungkus PrepareEnvironmentResponse yang berisi detail tentang status akhir penyiapan lingkungan.

  • Future yang gagal membungkus InvalidArgumentException if:

    • [notificationServiceComponentName] bukan komponen valid milik aplikasi pemanggil atau tidak diekspor dalam manifes.
    • Peran yang diminta tidak valid.
  • Peran yang diminta mencakup {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} dan {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} tidak diberikan atau tidak memperluas {@code android.app.admin.DeviceAdminReceiver}.
  • Kegagalan masa depan yang membungkus a

  • Kegagalan di masa mendatang yang membungkus SecurityException, jika pemanggil tidak diizinkan untuk memanggil API ini.

  • Future yang gagal membungkus GooglePlayServicesAppNotUpdatedException jika Layanan Google Play belum diupdate.

  • Future yang gagal membungkus AndroidDevicePolicyInstallOrUpdateUnrecoverableException jika Kebijakan Perangkat Android gagal diinstal atau diupdate dan error tidak dapat dipulihkan.

  • Kegagalan di masa mendatang yang membungkus AndroidDevicePolicyInstallOrUpdateRecoverableException jika aplikasi Kebijakan Perangkat Android gagal diinstal atau diupdate dan error dapat dipulihkan (misalnya, permintaan gagal karena masalah jaringan sementara), sehingga permintaan dapat dicoba lagi.

  • Gagal di masa mendatang yang membungkus AndroidDevicePolicyInstallConsentDeclinedException jika pengguna menolak menginstal aplikasi Android Device Policy.

  • Future yang gagal membungkus AndroidDevicePolicyInstallConsentDismissedException jika pengguna menutup layar izin penginstalan.

  • Future yang gagal membungkus InternalException, jika panggilan gagal karena error internal.

  • Future yang gagal membungkus PlayStoreUpdateUnrecoverableException jika update Play Store gagal.

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

    Jika level API SDK perangkat tidak memadai untuk peran tertentu yang diminta. {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} memerlukan API level 23 atau yang lebih tinggi. Peran lainnya memerlukan API level 28 atau yang lebih tinggi.