AccountSetupClient

public interface AccountSetupClient


Klien untuk mengelola penyiapan akun terkelola di perangkat.

Persyaratan Integrasi Siklus Proses: Untuk menangani callback hasil yang diperlukan oleh operasi seperti launchAuthenticationActivity dengan benar, klien ini mengandalkan AndroidX Activity Result API. Pemanggil harus mengintegrasikan klien ini dengan siklus proses komponen Android (Aktivitas atau Fragmen) dengan:

  1. Mengambil observer menggunakan getLifecycleObserver.

  2. Mendaftarkan observer ini dengan Lifecycle Activity atau Fragment host, biasanya di onCreate (misalnya, lifecycle.addObserver(client.lifecycleObserver)).

Pembaruan Status: Untuk mendapatkan notifikasi tentang perubahan status penyiapan akun asinkron, aplikasi yang memanggil perlu:

  1. Terapkan antarmuka AccountSetupListener.

  2. Berikan penerapan untuk menangani pembaruan status yang diterima.

  3. Perluas NotificationReceiverService dan berikan instance AccountSetupListener.

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

Gunakan AccountSetupClientFactory untuk membuat instance klien ini.

Ringkasan

Metode publik

abstract @NonNull AccountSetupAttempt
cancelAccountSetupAttempt(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

Membatalkan upaya penyiapan akun yang ditentukan.

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>

Membatalkan upaya penyiapan akun yang ditentukan.

abstract @NonNull LifecycleObserver

LifecycleObserver yang menangani penyiapan yang bergantung pada siklus proses untuk klien ini.

abstract @NonNull AccountSetupAttempt
launchAuthenticationActivity(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

Meluncurkan aktivitas minute maid untuk mengautentikasi pengguna, atau pemilih akun jika akun sudah ada di perangkat.

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>

Meluncurkan aktivitas minute maid untuk mengautentikasi pengguna, atau pemilih akun jika akun sudah ada di perangkat.

abstract @NonNull List<@NonNull AccountSetupAttempt>

Mencantumkan semua upaya penyiapan akun.

abstract @NonNull ListenableFuture<@NonNull List<@NonNull AccountSetupAttempt>>

Mencantumkan semua upaya penyiapan akun.

abstract @NonNull AccountSetupAttempt
startAccountSetup(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Memulai penyiapan akun.

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>
startAccountSetupFuture(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Memulai penyiapan akun.

Metode publik

cancelAccountSetupAttempt

abstract @NonNull AccountSetupAttempt cancelAccountSetupAttempt(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

Membatalkan upaya penyiapan akun yang ditentukan.

Parameter
@NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest

Permintaan untuk membatalkan upaya penyiapan akun.

Hasil
@NonNull AccountSetupAttempt

Upaya penyiapan akun yang diperbarui.

cancelAccountSetupAttemptFuture

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttemptcancelAccountSetupAttemptFuture(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

Membatalkan upaya penyiapan akun yang ditentukan.

Parameter
@NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest

Permintaan untuk membatalkan upaya penyiapan akun.

Hasil
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

ListenableFuture yang membungkus hasilnya. Hal ini dapat berupa

  • Future yang berhasil membungkus upaya penyiapan akun yang diperbarui.

  • Kegagalan di masa mendatang jika upaya penyiapan akun tidak ditemukan atau sudah dalam status akhir (error atau berhasil).

getLifecycleObserver

abstract @NonNull LifecycleObserver getLifecycleObserver()

LifecycleObserver yang menangani penyiapan yang bergantung pada siklus proses untuk klien ini.

Observer ini harus didaftarkan dengan Lifecycle Aktivitas atau Fragmen yang menghosting instance klien ini (misalnya, lifecycle.addObserver(...) biasanya dipanggil di onCreate host).

Dengan mendaftarkan pengamat ini, klien dapat menginisialisasi komponen internal dengan benar, terutama androidx.activity.result.ActivityResultLauncher yang diperlukan untuk memproses hasil launchAuthenticationActivity. Kegagalan mendaftarkan pengamat ini akan menyebabkan error saat mencoba meluncurkan aktivitas autentikasi.

launchAuthenticationActivity

abstract @NonNull AccountSetupAttempt launchAuthenticationActivity(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

Meluncurkan aktivitas minute maid untuk mengautentikasi pengguna, atau pemilih akun jika akun sudah ada di perangkat.

Parameter
@NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest

Permintaan untuk meluncurkan aktivitas autentikasi. Permintaan harus berisi upaya penyiapan akun dalam status AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

Menampilkan
java.lang.SecurityException

Jika pemanggil bukan Pemilik Perangkat atau Pemilik Profil.

com.google.android.managementapi.accountsetup.AccountSetupInvalidStateException

Jika upaya penyiapan akun tidak dalam status AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

launchAuthenticationActivityFuture

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttemptlaunchAuthenticationActivityFuture(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

Meluncurkan aktivitas minute maid untuk mengautentikasi pengguna, atau pemilih akun jika akun sudah ada di perangkat.

Parameter
@NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest

Permintaan untuk meluncurkan aktivitas autentikasi. Permintaan harus berisi upaya penyiapan akun dalam status AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

Hasil
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

ListenableFuture yang membungkus hasilnya. Hal ini dapat berupa

  • Future yang berhasil membungkus upaya penyiapan akun dalam status IN_PROGRESS, jika berhasil.

  • Future yang gagal membungkus SecurityException, jika pemanggil bukan Pemilik Perangkat atau Pemilik Profil.

  • Future yang gagal membungkus AccountSetupInvalidStateException, jika upaya penyiapan akun tidak dalam status AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION.

listAccountSetupAttempts

abstract @NonNull List<@NonNull AccountSetupAttemptlistAccountSetupAttempts()

Mencantumkan semua upaya penyiapan akun. Hanya 20 upaya penyiapan akun terakhir yang ditampilkan.

Hasil
@NonNull List<@NonNull AccountSetupAttempt>

Daftar semua upaya penyiapan akun.

listAccountSetupAttemptsFuture

abstract @NonNull ListenableFuture<@NonNull List<@NonNull AccountSetupAttempt>> listAccountSetupAttemptsFuture()

Mencantumkan semua upaya penyiapan akun. Hanya 20 upaya penyiapan akun terakhir yang ditampilkan.

startAccountSetup

abstract @NonNull AccountSetupAttempt startAccountSetup(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Memulai penyiapan akun.

CATATAN: Metode ini mendelegasikan cakupan android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS ke aplikasi Kebijakan Perangkat Android, sehingga aplikasi tersebut dapat mengelola batasan aplikasi atas nama admin yang memanggil. Setelah penyiapan akun selesai, cakupan pendelegasian ke Android Device Policy ini akan dihapus.

Parameter
@NonNull StartAccountSetupRequest startAccountSetupRequest

Permintaan untuk memulai penyiapan akun.

Hasil
@NonNull AccountSetupAttempt

Upaya penyiapan akun.

startAccountSetupFuture

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttemptstartAccountSetupFuture(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

Memulai penyiapan akun.

CATATAN: Metode ini mendelegasikan cakupan android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS ke aplikasi Kebijakan Perangkat Android, sehingga aplikasi tersebut dapat mengelola batasan aplikasi atas nama admin yang memanggil. Setelah penyiapan akun selesai, cakupan pendelegasian ke Android Device Policy ini akan dihapus.

Parameter
@NonNull StartAccountSetupRequest startAccountSetupRequest

Permintaan untuk memulai penyiapan akun.

Hasil
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

ListenableFuture yang membungkus hasilnya. Hal ini dapat berupa