EnvironmentClient

interface EnvironmentClient


ไคลเอ็นต์เพื่อเข้าถึง API ที่เกี่ยวข้องกับสภาพแวดล้อม

ใช้ EnvironmentClientFactory เพื่อสร้างอินสแตนซ์

สรุป

ฟังก์ชันสาธารณะ

suspend Environment

แสดง Environment

ListenableFuture<Environment>

แสดง Environment

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

เตรียมสภาพแวดล้อมของอุปกรณ์

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

เตรียมสภาพแวดล้อมของอุปกรณ์

ฟังก์ชันสาธารณะ

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

แสดง Environment ซึ่งจะช่วยให้ผู้โทรทราบว่าสภาพแวดล้อมพร้อมหรือไม่

การขว้าง
com.google.android.managementapi.common.exceptions.InvalidArgumentException

หากบทบาทที่ขอไม่ถูกต้อง

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

หากการโทรล้มเหลวเนื่องจากข้อผิดพลาดภายใน

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

หากระดับ API ของ SDK ของอุปกรณ์ไม่เพียงพอสำหรับบทบาทที่ขอ (อาจเป็นข้อกำหนดเพิ่มเติมจากข้อกำหนดระดับ API ขั้นต่ำทั่วไปสำหรับการเรียกใช้เอง) {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} ต้องใช้ API ระดับ 23 ขึ้นไป ส่วนบทบาทอื่นๆ ต้องใช้ API ระดับ 28 ขึ้นไป

getEnvironmentAsync

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

แสดง Environment ซึ่งจะช่วยให้ผู้โทรทราบว่าสภาพแวดล้อมพร้อมหรือไม่

การคืนสินค้า
ListenableFuture<Environment>

ListenableFuture ที่ครอบผลลัพธ์ ซึ่งได้แก่

  • อนาคตที่ห่อหุ้ม Environment ไว้ในกรณีที่สำเร็จ

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม InvalidArgumentException หากบทบาทที่ขอไม่ถูกต้อง

  • Future ที่ล้มเหลวซึ่งครอบคลุม InternalException หากการเรียกใช้ล้มเหลวเนื่องจากข้อผิดพลาดภายใน

การขว้าง
com.google.android.managementapi.common.exceptions.ApiLevelException

หากระดับ API ของ SDK ของอุปกรณ์ไม่เพียงพอสำหรับบทบาทที่ขอ (อาจเป็นข้อกำหนดเพิ่มเติมจากข้อกำหนดระดับ API ขั้นต่ำทั่วไปสำหรับการเรียกใช้เอง) {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} ต้องใช้ API ระดับ 23 ขึ้นไป ส่วนบทบาทอื่นๆ ต้องใช้ API ระดับ 28 ขึ้นไป

prepareEnvironment

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

เตรียมสภาพแวดล้อมของอุปกรณ์

แจ้งให้ผู้ใช้ติดตั้งแอปพลิเคชัน Android Device Policy ที่จำเป็น ดำเนินการติดตั้งต่อหากผู้ใช้ยอมรับข้อความแจ้ง หลังจากติดตั้งสำเร็จแล้ว ระบบจะดำเนินการเพื่อให้แน่ใจว่าแอป Android Device Policy พร้อมใช้งาน

พารามิเตอร์
notificationServiceComponentName: ComponentName?

ComponentNameของบริการที่ขยายเวลาNotificationReceiverService หากระบุไว้ จะต้องเป็นคอมโพเนนต์ที่ถูกต้องซึ่งเป็นของแอปการโทรและส่งออกในไฟล์ Manifest หากต้องการรับการแจ้งเตือนเกี่ยวกับเหตุการณ์การเตรียมสภาพแวดล้อม คุณต้องทำดังนี้

  1. ใช้EnvironmentListenerอินเทอร์เฟซในแอป

  2. ระบุการติดตั้งใช้งานวิธีจัดการเหตุการณ์ที่ได้รับ

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

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

เช่น

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

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
การคืนสินค้า
PrepareEnvironmentResponse

PrepareEnvironmentResponse ซึ่งมีรายละเอียดเกี่ยวกับสถานะสุดท้ายของการเตรียมสภาพแวดล้อม

การขว้าง
com.google.android.managementapi.common.exceptions.InvalidArgumentException

หาก:

  • [notificationServiceComponentName] ไม่ใช่คอมโพเนนต์ที่ถูกต้องซึ่งเป็นของแอปที่เรียกใช้ หรือไม่ได้ส่งออกในไฟล์ Manifest
  • บทบาทที่ขอรวมถึง {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} และ ไม่ได้ระบุ {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} หรือไม่ได้ขยาย {@code android.app.admin.DeviceAdminReceiver}
  • บทบาทที่ขอไม่ถูกต้อง
java.lang.SecurityException

หากผู้โทรไม่มีสิทธิ์เรียก API นี้

com.google.android.managementapi.environment.GooglePlayServicesAppNotUpdatedException

หากบริการ Google Play ไม่ใช่เวอร์ชันล่าสุด

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateUnrecoverableException

หาก Android Device Policy ติดตั้งหรืออัปเดตไม่สำเร็จและกู้คืนข้อผิดพลาดไม่ได้

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateRecoverableException

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

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDeclinedException

หากผู้ใช้ปฏิเสธที่จะติดตั้งแอป Android Device Policy

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDismissedException

หากผู้ใช้ปิดหน้าจอให้ความยินยอมในการติดตั้ง

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

หากการโทรล้มเหลวเนื่องจากข้อผิดพลาดภายใน

com.google.android.managementapi.environment.PlayStoreUpdateUnrecoverableException

หากอัปเดต Play Store ไม่สำเร็จ

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

หากระดับ API ของ SDK ของอุปกรณ์ไม่เพียงพอสำหรับบทบาทที่ขอ (อาจเป็นข้อกำหนดเพิ่มเติมจากข้อกำหนดระดับ API ขั้นต่ำทั่วไปสำหรับการโทรเอง) {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} ต้องใช้ API ระดับ 23 ขึ้นไป ส่วนบทบาทอื่นๆ ต้องใช้ API ระดับ 28 ขึ้นไป

prepareEnvironmentAsync

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

เตรียมสภาพแวดล้อมของอุปกรณ์

แจ้งให้ผู้ใช้ติดตั้งแอปพลิเคชัน Android Device Policy ที่จำเป็น ดำเนินการติดตั้งต่อหากผู้ใช้ยอมรับข้อความแจ้ง หลังจากติดตั้งสำเร็จแล้ว ระบบจะดำเนินการเพื่อให้แน่ใจว่าแอป Android Device Policy พร้อมใช้งาน

พารามิเตอร์
notificationServiceComponentName: ComponentName?

ComponentNameของบริการที่ขยายเวลาNotificationReceiverService หากระบุไว้ จะต้องเป็นคอมโพเนนต์ที่ถูกต้องซึ่งเป็นของแอปการโทรและส่งออกในไฟล์ Manifest หากต้องการรับการแจ้งเตือนเกี่ยวกับเหตุการณ์การเตรียมสภาพแวดล้อม คุณต้องทำดังนี้

  1. ใช้EnvironmentListenerอินเทอร์เฟซในแอป

  2. ระบุการติดตั้งใช้งานวิธีจัดการเหตุการณ์ที่ได้รับ

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

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

เช่น

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

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
การคืนสินค้า
ListenableFuture<PrepareEnvironmentResponse>

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

  • อนาคตที่สำเร็จซึ่งมีPrepareEnvironmentResponseที่มีรายละเอียดเกี่ยวกับสถานะสุดท้ายของการเตรียมสภาพแวดล้อม

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม InvalidArgumentException ในกรณีต่อไปนี้

    • [notificationServiceComponentName] ไม่ใช่คอมโพเนนต์ที่ถูกต้องซึ่งเป็นของแอปที่เรียกใช้ หรือไม่ได้ส่งออกในไฟล์ Manifest
    • บทบาทที่ขอไม่ถูกต้อง
    • บทบาทที่ขอรวมถึง {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} และ ไม่ได้ระบุ {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} หรือไม่ได้ขยาย {@code android.app.admin.DeviceAdminReceiver}
  • Future ที่ล้มเหลวซึ่งห่อหุ้ม SecurityException หากผู้เรียกไม่มีสิทธิ์เรียก API นี้

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม GooglePlayServicesAppNotUpdatedException หากบริการ Google Play ไม่ใช่เวอร์ชันล่าสุด

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม AndroidDevicePolicyInstallOrUpdateUnrecoverableException หาก Android Device Policy ติดตั้งหรืออัปเดตไม่สำเร็จและกู้คืนข้อผิดพลาดไม่ได้

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

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม AndroidDevicePolicyInstallConsentDeclinedException หากผู้ใช้ปฏิเสธที่จะติดตั้งแอป Android Device Policy

  • Future ที่ล้มเหลวซึ่งครอบคลุม AndroidDevicePolicyInstallConsentDismissedException หากผู้ใช้ปิดหน้าจอขอความยินยอมในการติดตั้ง

  • Future ที่ล้มเหลวซึ่งครอบคลุม InternalException หากการเรียกใช้ล้มเหลวเนื่องจากข้อผิดพลาดภายใน

  • Future ที่ล้มเหลวซึ่งห่อหุ้ม PlayStoreUpdateUnrecoverableException หากการอัปเดต Play Store ไม่สำเร็จ

การขว้าง
com.google.android.managementapi.common.exceptions.ApiLevelException

หากระดับ API ของ SDK ของอุปกรณ์ไม่เพียงพอสำหรับบทบาทบางอย่างที่ขอ {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} ต้องใช้ API ระดับ 23 ขึ้นไป ส่วนบทบาทอื่นๆ ต้องใช้ API ระดับ 28 ขึ้นไป