AccountSetupClient

public interface AccountSetupClient


ไคลเอ็นต์สำหรับการจัดการการตั้งค่าบัญชีที่มีการจัดการในอุปกรณ์

ข้อกำหนดในการผสานรวมวงจร: ไคลเอ็นต์นี้ใช้ API ผลลัพธ์ของกิจกรรม AndroidX เพื่อจัดการการเรียกกลับของผลลัพธ์ที่จำเป็นสำหรับการดำเนินการต่างๆ เช่น launchAuthenticationActivity อย่างถูกต้อง ผู้โทรต้องผสานรวมไคลเอ็นต์นี้กับวงจรของคอมโพเนนต์ Android (Activity หรือ Fragment) โดยทำดังนี้

  1. การดึงข้อมูล Observer โดยใช้ getLifecycleObserver

  2. ลงทะเบียน Observer นี้กับ Lifecycle ของ Activity หรือ Fragment โฮสต์ โดยปกติจะอยู่ใน onCreate (เช่น lifecycle.addObserver(client.lifecycleObserver))

การอัปเดตสถานะ: หากต้องการรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงสถานะการตั้งค่าบัญชีแบบไม่พร้อมกัน แอปการโทรต้องมีคุณสมบัติดังนี้

  1. ใช้AccountSetupListenerอินเทอร์เฟซ

  2. ระบุการติดตั้งใช้งานสำหรับการจัดการการอัปเดตสถานะที่ได้รับ

  3. ขยาย NotificationReceiverService และระบุอินสแตนซ์ AccountSetupListener

  4. เพิ่มคลาส NotificationReceiverService ที่ขยายแล้วลงใน AndroidManifest.xml และตรวจสอบว่าได้ส่งออกแล้ว

ใช้ AccountSetupClientFactory เพื่อสร้างอินสแตนซ์ของไคลเอ็นต์นี้

สรุป

เมธอดสาธารณะ

abstract @NonNull AccountSetupAttempt
cancelAccountSetupAttempt(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

ยกเลิกความพยายามในการตั้งค่าบัญชีที่ระบุ

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>

ยกเลิกความพยายามในการตั้งค่าบัญชีที่ระบุ

abstract @NonNull LifecycleObserver

LifecycleObserver ที่จัดการการตั้งค่าที่ขึ้นอยู่กับวงจรของไคลเอ็นต์นี้

abstract @NonNull AccountSetupAttempt
launchAuthenticationActivity(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

เปิดใช้งานกิจกรรม Minute Maid เพื่อตรวจสอบสิทธิ์ผู้ใช้ หรือตัวเลือกบัญชีหากมีบัญชีอยู่ในอุปกรณ์แล้ว

abstract @NonNull ListenableFuture<@NonNull AccountSetupAttempt>

เปิดใช้งานกิจกรรม Minute Maid เพื่อตรวจสอบสิทธิ์ผู้ใช้ หรือตัวเลือกบัญชีหากมีบัญชีอยู่ในอุปกรณ์แล้ว

abstract @NonNull List<@NonNull AccountSetupAttempt>

แสดงรายการความพยายามในการสร้างบัญชีทั้งหมด

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

แสดงรายการความพยายามในการสร้างบัญชีทั้งหมด

abstract @NonNull AccountSetupAttempt
startAccountSetup(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

เริ่มการตั้งค่าบัญชี

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

เริ่มการตั้งค่าบัญชี

เมธอดสาธารณะ

cancelAccountSetupAttempt

abstract @NonNull AccountSetupAttempt cancelAccountSetupAttempt(
    @NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest
)

ยกเลิกความพยายามในการตั้งค่าบัญชีที่ระบุ

พารามิเตอร์
@NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest

คำขอเพื่อยกเลิกความพยายามในการสร้างบัญชี

การคืนสินค้า
@NonNull AccountSetupAttempt

ความพยายามในการตั้งค่าบัญชีที่อัปเดตแล้ว

cancelAccountSetupAttemptFuture

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

ยกเลิกความพยายามในการตั้งค่าบัญชีที่ระบุ

พารามิเตอร์
@NonNull CancelAccountSetupAttemptRequest cancelAccountSetupAttemptRequest

คำขอเพื่อยกเลิกความพยายามในการสร้างบัญชี

การคืนสินค้า
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

ListenableFuture ครอบผลลัพธ์ ซึ่งอาจเป็น

  • อนาคตที่ประสบความสำเร็จในการพยายามห่อหุ้มการตั้งค่าบัญชีที่อัปเดตแล้ว

  • อนาคตที่ล้มเหลวหากไม่พบความพยายามในการตั้งค่าบัญชีหรืออยู่ในสถานะสุดท้ายแล้ว (ข้อผิดพลาดหรือสำเร็จ)

getLifecycleObserver

abstract @NonNull LifecycleObserver getLifecycleObserver()

LifecycleObserver ที่จัดการการตั้งค่าที่ขึ้นอยู่กับวงจรของไคลเอ็นต์นี้

Observer นี้ต้องลงทะเบียนกับ Lifecycle ของ Activity หรือ Fragment ที่โฮสต์อินสแตนซ์ไคลเอ็นต์นี้ (เช่น lifecycle.addObserver(...) ซึ่งโดยทั่วไปจะเรียกใช้ใน onCreate ของโฮสต์)

การลงทะเบียน Observer นี้ช่วยให้ไคลเอ็นต์เริ่มต้นคอมโพเนนต์ภายในได้อย่างถูกต้อง โดยเฉพาะอย่างยิ่ง androidx.activity.result.ActivityResultLauncher ที่จำเป็นต่อการประมวลผลผลลัพธ์ของ launchAuthenticationActivity หากไม่ลงทะเบียน Observer นี้ จะทำให้เกิดข้อผิดพลาดเมื่อพยายามเปิดกิจกรรมการตรวจสอบสิทธิ์

launchAuthenticationActivity

abstract @NonNull AccountSetupAttempt launchAuthenticationActivity(
    @NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest
)

เปิดใช้งานกิจกรรม Minute Maid เพื่อตรวจสอบสิทธิ์ผู้ใช้ หรือตัวเลือกบัญชีหากมีบัญชีอยู่ในอุปกรณ์แล้ว

พารามิเตอร์
@NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest

คำขอเปิดกิจกรรมการตรวจสอบสิทธิ์ คำขอต้องมีการพยายามสร้างบัญชีในสถานะ AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION

ส่ง
java.lang.SecurityException

หากผู้โทรไม่ใช่เจ้าของอุปกรณ์หรือเจ้าของโปรไฟล์

com.google.android.managementapi.accountsetup.AccountSetupInvalidStateException

หากการพยายามตั้งค่าบัญชีไม่ได้อยู่ในสถานะ AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION

launchAuthenticationActivityFuture

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

เปิดใช้งานกิจกรรม Minute Maid เพื่อตรวจสอบสิทธิ์ผู้ใช้ หรือตัวเลือกบัญชีหากมีบัญชีอยู่ในอุปกรณ์แล้ว

พารามิเตอร์
@NonNull LaunchAuthenticationActivityRequest launchAuthenticationActivityRequest

คำขอเปิดกิจกรรมการตรวจสอบสิทธิ์ คำขอต้องมีการพยายามสร้างบัญชีในสถานะ AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION

การคืนสินค้า
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

ListenableFuture ครอบผลลัพธ์ ซึ่งอาจเป็น

  • สถานะ IN_PROGRESS ของความพยายามในการตั้งค่าบัญชีในอนาคตที่สำเร็จ ในกรณีที่สำเร็จ

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม SecurityException หากผู้เรียกไม่ใช่เจ้าของอุปกรณ์หรือเจ้าของโปรไฟล์

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม AccountSetupInvalidStateException หากความพยายามในการตั้งค่าบัญชีไม่ได้อยู่ในสถานะ AUTHENTICATION_ACTIVITY_LAUNCH_REQUIRED_INFORMATION

listAccountSetupAttempts

abstract @NonNull List<@NonNull AccountSetupAttemptlistAccountSetupAttempts()

แสดงรายการความพยายามในการสร้างบัญชีทั้งหมด ระบบจะแสดงผลเฉพาะการพยายามตั้งค่าบัญชี 20 ครั้งล่าสุดเท่านั้น

การคืนสินค้า
@NonNull List<@NonNull AccountSetupAttempt>

รายการความพยายามในการตั้งค่าบัญชีทั้งหมด

listAccountSetupAttemptsFuture

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

แสดงรายการความพยายามในการสร้างบัญชีทั้งหมด ระบบจะแสดงผลเฉพาะการพยายามตั้งค่าบัญชี 20 ครั้งล่าสุดเท่านั้น

การคืนสินค้า
@NonNull ListenableFuture<@NonNull List<@NonNull AccountSetupAttempt>>

ListenableFuture ครอบผลลัพธ์

startAccountSetup

abstract @NonNull AccountSetupAttempt startAccountSetup(
    @NonNull StartAccountSetupRequest startAccountSetupRequest
)

เริ่มการตั้งค่าบัญชี

หมายเหตุ: วิธีนี้จะมอบสิทธิ์ขอบเขต android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS ให้กับแอป Android Device Policy เพื่อให้แอปจัดการข้อจำกัดของแอปในนามของผู้ดูแลระบบที่เรียกใช้ได้ เมื่อตั้งค่าบัญชีเสร็จสมบูรณ์แล้ว ระบบจะนำขอบเขตการมอบสิทธิ์นี้ไปยัง Android Device Policy ออก

พารามิเตอร์
@NonNull StartAccountSetupRequest startAccountSetupRequest

คำขอเริ่มการสร้างบัญชี

การคืนสินค้า
@NonNull AccountSetupAttempt

ความพยายามในการสร้างบัญชี

ส่ง
com.google.android.managementapi.environment.exception.EnvironmentNotReadyException

หากไม่ได้เตรียมสภาพแวดล้อม

com.google.android.managementapi.accountsetup.AccountSetupUnknownException

หากเกิดข้อผิดพลาดที่ไม่รู้จักระหว่างการตั้งค่าบัญชี

com.google.android.managementapi.accountsetup.AccountSetupInvalidEnrollmentTokenException

หากโทเค็นการลงทะเบียนว่างเปล่าหรือไม่ได้ตั้งค่าในคำขอ

com.google.android.managementapi.accountsetup.AccountSetupInvalidAdminComponentException

หากคอมโพเนนต์ผู้ดูแลระบบ DeviceAdminReceiver ไม่ใช่ผู้ดูแลระบบที่ใช้งานอยู่ในอุปกรณ์

com.google.android.managementapi.accountsetup.AccountSetupInvalidNotificationReceiverComponentException

หากไม่มีคอมโพเนนต์ผู้รับการแจ้งเตือนในอุปกรณ์

startAccountSetupFuture

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

เริ่มการตั้งค่าบัญชี

หมายเหตุ: วิธีนี้จะมอบสิทธิ์ขอบเขต android.app.admin.DevicePolicyManager.DELEGATION_APP_RESTRICTIONS ให้กับแอป Android Device Policy เพื่อให้แอปจัดการข้อจำกัดของแอปในนามของผู้ดูแลระบบที่เรียกใช้ได้ เมื่อตั้งค่าบัญชีเสร็จสมบูรณ์แล้ว ระบบจะนำขอบเขตการมอบสิทธิ์นี้ไปยัง Android Device Policy ออก

พารามิเตอร์
@NonNull StartAccountSetupRequest startAccountSetupRequest

คำขอเริ่มการสร้างบัญชี

การคืนสินค้า
@NonNull ListenableFuture<@NonNull AccountSetupAttempt>

ListenableFuture ครอบผลลัพธ์ ซึ่งอาจเป็น