EnvironmentClient

interface EnvironmentClient


Клиент получает доступ к API, связанным с окружающей средой.

Используйте EnvironmentClientFactory для создания экземпляра.

Краткое содержание

Общественные функции

suspend Environment

Возвращает значение Environment .

ListenableFuture < Environment >

Возвращает значение Environment .

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

Подготавливает устройство, убедившись, что приложение «Политика устройств Android» установлено и готово к использованию.

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

Подготавливает устройство, убедившись, что приложение «Политика устройств Android» установлено и готово к использованию.

Общественные функции

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Возвращает 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 . Это помогает вызывающей стороне узнать, готов ли объект Environment к работе или нет.

Возвраты
ListenableFuture < Environment >

Объект ListenableFuture , оборачивающий результат. Это может быть:

  • Успешное будущее, окутывающее Environment , в случае успеха.

  • Если запрошенные роли недействительны, возникает ошибка InvalidArgumentException , приводящая к сбою.

  • Ошибка, связанная с объектом Future, которая оборачивает InternalException , если вызов завершился с ошибкой из-за внутренней ошибки.

Броски
com.google.android.managementapi.common.exceptions.ApiLevelException

Если уровень API SDK устройства недостаточен для определенных запрашиваемых ролей (это может быть в дополнение к общему минимальному требованию к уровню API для самого вызова), то для {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} требуется уровень API 23 или выше. Для любых других ролей требуется уровень API 28 или выше.

подготовить среду

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

Подготавливает устройство, убедившись, что приложение «Политика устройств Android» установлено и готово к использованию.

Поведение зависит от контекста:

  • Процесс обеспечения доверия к устройству : если приложение «Политика устройств Android» не установлено, пользователю предлагается его установить. Если приложение уже установлено, оно обновляется в фоновом режиме.

  • Процесс регистрации устройства: автоматически устанавливает приложение «Политика устройств Android», если оно еще не установлено, и обеспечивает его готовность к использованию без участия пользователя.

Параметры
notificationServiceComponentName: ComponentName ?

ComponentName сервиса, расширяющего NotificationReceiverService . Если указано, это должен быть допустимый компонент, принадлежащий вызывающему приложению и экспортированный в манифесте. Чтобы получать уведомления о событиях подготовки среды, необходимо:

  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] не является допустимым компонентом, принадлежащим вызывающему приложению, или не экспортируется в манифесте.
  • Запрошенные роли включают {@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 Services не обновлен.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateUnrecoverableException

Если установка или обновление политики Android не удаётся, и ошибка неустранима.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateRecoverableException

Если приложение Android Device Policy не удается установить или обновить, и ошибка устранима (например, запрос не удался из-за временных проблем с сетью), то запрос можно повторить.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDeclinedException

Если пользователь откажется установить приложение «Политика устройств Android».

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» установлено и готово к использованию.

Поведение зависит от контекста:

  • Процесс обеспечения доверия к устройству : если приложение «Политика устройств Android» не установлено, пользователю предлагается его установить. Если приложение уже установлено, оно обновляется в фоновом режиме.

  • Процесс регистрации устройства: автоматически устанавливает приложение «Политика устройств Android», если оно еще не установлено, и обеспечивает его готовность к использованию без участия пользователя.

Параметры
notificationServiceComponentName: ComponentName ?

ComponentName сервиса, расширяющего NotificationReceiverService . Если указано, это должен быть допустимый компонент, принадлежащий вызывающему приложению и экспортированный в манифесте. Чтобы получать уведомления о событиях подготовки среды, необходимо:

  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 , оборачивающий результат. Это может быть

  • A successful future wrapping a PrepareEnvironmentResponse containing details about the final status of the environment preparation.

  • Ошибка при выполнении операции future, содержащая исключение InvalidArgumentException , если:

    • [notificationServiceComponentName] не является допустимым компонентом, принадлежащим вызывающему приложению, или не экспортируется в манифесте.
    • Запрошенные роли недействительны.
    • Запрошенные роли включают {@code Role.RoleType.DEVICE_POLICY_CONTROLLER}, а {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} не предоставлен или не наследует {@code android.app.admin.DeviceAdminReceiver}.
  • Ошибка выполнения, содержащая исключение SecurityException , если вызывающий объект не авторизован для вызова этого API.

  • Ошибка при выполнении команды `fulfilled by future`, которая вызывает исключение ` GooglePlayServicesAppNotUpdatedException , если сервисы Google Play не обновлены.

  • Ошибка, связанная с событием Failed Future, инкапсулирует исключение AndroidDevicePolicyInstallOrUpdateUnrecoverableException , если установка или обновление политики Android Device Policy завершается неудачей, и ошибка неустранима.

  • Ошибка, связанная с событием Failed Future, инкапсулирует исключение AndroidDevicePolicyInstallOrUpdateRecoverableException , если приложение Android Device Policy не смогло установить или обновить систему, и ошибка устранима (например, запрос не удался из-за временных проблем с сетью), поэтому запрос можно повторить.

  • Ошибка при выполнении команды `fulfillment`, которая вызывает исключение ` 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 или выше.