EnvironmentClient

interface EnvironmentClient


Ứng dụng khách để truy cập vào các API liên quan đến môi trường.

Hãy dùng EnvironmentClientFactory để tạo một thực thể.

Tóm tắt

Hàm công khai

suspend Environment

Trả về Environment.

ListenableFuture<Environment>

Trả về Environment.

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

Chuẩn bị môi trường thiết bị.

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

Chuẩn bị môi trường thiết bị.

Hàm công khai

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Trả về Environment. Điều này giúp người gọi biết liệu môi trường đã sẵn sàng hay chưa.

Gửi
com.google.android.managementapi.common.exceptions.InvalidArgumentException

Nếu các vai trò được yêu cầu không hợp lệ.

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

Nếu lệnh gọi không thành công do lỗi nội bộ.

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

Nếu cấp độ API SDK của thiết bị không đủ cho một số vai trò được yêu cầu (ngoài yêu cầu chung về cấp độ API tối thiểu cho chính lệnh gọi). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} yêu cầu API cấp 23 trở lên. Mọi vai trò khác đều yêu cầu API cấp 28 trở lên.

getEnvironmentAsync

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

Trả về Environment. Điều này giúp người gọi biết liệu môi trường đã sẵn sàng hay chưa.

Giá trị trả về
ListenableFuture<Environment>

Một ListenableFuture bao bọc kết quả. Đây có thể là:

  • Một future thành công bao bọc Environment, trong trường hợp thành công.

  • Một tương lai không thành công bao bọc một

  • Một future không thành công bao bọc InvalidArgumentException, nếu các vai trò được yêu cầu không hợp lệ.

  • Một future không thành công bao bọc InternalException, nếu lệnh gọi không thành công do lỗi nội bộ.

Gửi
com.google.android.managementapi.common.exceptions.ApiLevelException

Nếu cấp độ API SDK của thiết bị không đủ cho một số vai trò được yêu cầu (ngoài yêu cầu chung về cấp độ API tối thiểu cho chính lệnh gọi). {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} yêu cầu API cấp 23 trở lên. Mọi vai trò khác đều yêu cầu API cấp 28 trở lên.

prepareEnvironment

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

Chuẩn bị môi trường thiết bị.

Nhắc người dùng cài đặt ứng dụng Android Device Policy cần thiết. Tiếp tục cài đặt nếu người dùng chấp nhận lời nhắc. Sau khi cài đặt thành công, ứng dụng này sẽ thực hiện các thao tác để đảm bảo ứng dụng Android Device Policy đã sẵn sàng.

Thông số
notificationServiceComponentName: ComponentName?

ComponentName của dịch vụ mở rộng NotificationReceiverService. Nếu được cung cấp, đó phải là một thành phần hợp lệ thuộc về ứng dụng gọi và được xuất trong tệp kê khai. Để nhận được thông báo về các sự kiện chuẩn bị Môi trường, bạn cần:

  1. Triển khai giao diện EnvironmentListener trong ứng dụng của bạn.

  2. Cung cấp một cách triển khai để xử lý các sự kiện đã nhận.

  3. Mở rộng NotificationReceiverService và cung cấp một thực thể EnvironmentListener.

  4. Thêm lớp NotificationReceiverService mở rộng vào AndroidManifest.xml và đảm bảo rằng lớp này được xuất.

Ví dụ:

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

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
Giá trị trả về
PrepareEnvironmentResponse

PrepareEnvironmentResponse chứa thông tin chi tiết về trạng thái cuối cùng của quá trình chuẩn bị môi trường.

Gửi
com.google.android.managementapi.common.exceptions.InvalidArgumentException

Nếu:

  • [notificationServiceComponentName] không phải là một thành phần hợp lệ thuộc về ứng dụng gọi hoặc không được xuất trong tệp kê khai.
  • Các vai trò được yêu cầu bao gồm {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} và {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} không được cung cấp hoặc không mở rộng {@code android.app.admin.DeviceAdminReceiver}.
  • Các vai trò được yêu cầu không hợp lệ.
java.lang.SecurityException

Nếu phương thức gọi không được phép gọi API này.

com.google.android.managementapi.environment.exception.GooglePlayServicesAppNotUpdatedException Nếu Dịch vụ Google Play chưa được cập nhật.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateUnrecoverableException Nếu Android Device Policy không cài đặt hoặc cập nhật được và lỗi này không thể khắc phục.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateRecoverableException Nếu ứng dụng Android Device Policy không cài đặt hoặc cập nhật được và lỗi có thể khắc phục (ví dụ: yêu cầu không thành công do sự cố mạng tạm thời), thì bạn có thể thử lại yêu cầu.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDeclinedException Nếu người dùng từ chối cài đặt ứng dụng Android Device Policy.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDismissedException Nếu người dùng đóng màn hình đồng ý cài đặt.

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

Nếu lệnh gọi không thành công do lỗi nội bộ.

com.google.android.managementapi.environment.exception.PlayStoreUpdateUnrecoverableException Nếu không cập nhật được Cửa hàng Play.

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

Nếu cấp độ API SDK của thiết bị không đủ cho một số vai trò được yêu cầu (ngoài yêu cầu chung về cấp độ API tối thiểu cho chính lệnh gọi).{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} yêu cầu cấp độ API từ 23 trở lên. Mọi vai trò khác đều yêu cầu API cấp 28 trở lên.

prepareEnvironmentAsync

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

Chuẩn bị môi trường thiết bị.

Nhắc người dùng cài đặt ứng dụng Android Device Policy cần thiết. Tiếp tục cài đặt nếu người dùng chấp nhận lời nhắc. Sau khi cài đặt thành công, ứng dụng này sẽ thực hiện các thao tác để đảm bảo ứng dụng Android Device Policy đã sẵn sàng.

Thông số
notificationServiceComponentName: ComponentName?

ComponentName của dịch vụ mở rộng NotificationReceiverService. Nếu được cung cấp, đó phải là một thành phần hợp lệ thuộc về ứng dụng gọi và được xuất trong tệp kê khai. Để nhận được thông báo về các sự kiện chuẩn bị môi trường, bạn cần:

  1. Triển khai giao diện EnvironmentListener trong ứng dụng của bạn.

  2. Cung cấp một cách triển khai để xử lý các sự kiện đã nhận.

  3. Mở rộng NotificationReceiverService và cung cấp một thực thể EnvironmentListener.

  4. Thêm lớp NotificationReceiverService mở rộng vào AndroidManifest.xml và đảm bảo rằng lớp này được xuất.

Ví dụ:

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

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
Giá trị trả về
ListenableFuture<PrepareEnvironmentResponse>

Một ListenableFuture bao bọc kết quả. Đây có thể là

  • Một future thành công bao bọc một PrepareEnvironmentResponse chứa thông tin chi tiết về trạng thái cuối cùng của quá trình chuẩn bị môi trường.

  • Một future không thành công bao bọc một InvalidArgumentException nếu:

    • [notificationServiceComponentName] không phải là một thành phần hợp lệ thuộc về ứng dụng gọi hoặc không được xuất trong tệp kê khai.
    • Các vai trò được yêu cầu không hợp lệ.
  • Các vai trò được yêu cầu bao gồm {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} và {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} không được cung cấp hoặc không mở rộng {@code android.app.admin.DeviceAdminReceiver}.
  • Một tương lai không thành công bao bọc một

  • Một lệnh gọi không thành công trong tương lai bao bọc một SecurityException, nếu phương thức gọi không được phép gọi API này.

  • Một thất bại trong tương lai bao bọc một GooglePlayServicesAppNotUpdatedException nếu Dịch vụ Google Play chưa được cập nhật.

  • Một future không thành công bao bọc AndroidDevicePolicyInstallOrUpdateUnrecoverableException nếu Android Device Policy không cài đặt hoặc cập nhật được và lỗi không thể khôi phục.

  • Một future không thành công bao bọc AndroidDevicePolicyInstallOrUpdateRecoverableException nếu ứng dụng Chính sách thiết bị Android không cài đặt hoặc cập nhật được và lỗi có thể khắc phục (ví dụ: yêu cầu không thành công do sự cố mạng tạm thời), nên có thể thử lại yêu cầu.

  • Một future không thành công bao bọc AndroidDevicePolicyInstallConsentDeclinedException nếu người dùng từ chối cài đặt ứng dụng Android Device Policy.

  • Một future không thành công bao bọc một AndroidDevicePolicyInstallConsentDismissedException nếu người dùng đóng màn hình đồng ý cài đặt.

  • Một future không thành công bao bọc InternalException, nếu lệnh gọi không thành công do lỗi nội bộ.

  • Một future không thành công bao bọc PlayStoreUpdateUnrecoverableException nếu bản cập nhật Cửa hàng Play không thành công.

  • Gửi
    com.google.android.managementapi.common.exceptions.ApiLevelException

    Nếu cấp độ API SDK của thiết bị không đủ cho một số vai trò được yêu cầu. {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} yêu cầu API cấp 23 trở lên. Mọi vai trò khác đều yêu cầu API cấp 28 trở lên.