Окружающая средаКлиент

interface EnvironmentClient


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

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

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

Публичные функции

suspend Environment

Возвращает Environment .

ListenableFuture < Environment >

Возвращает Environment .

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

Подготавливает устройство, гарантируя, что приложение Android Device Policy установлено и готово к работе.

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

Подготавливает устройство, гарантируя, что приложение Android Device Policy установлено и готово к работе.

Публичные функции

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 , в случае успеха.

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

  • Неудачный будущий объект, оборачивающий 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 Device Policy установлено и готово к работе.

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

  • Device Trust Flow : если приложение Android Device Policy не установлено, пользователю предлагается установить его. Если приложение уже установлено, оно обновляется автоматически.

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

Параметры
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 не обновлены.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateUnrecoverableException

Если Android Device Policy не устанавливается или не обновляется и ошибка неустранима.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateRecoverableException

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

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 установлено и готово к работе.

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

  • Device Trust Flow : если приложение Android Device Policy не установлено, пользователю предлагается установить его. Если приложение уже установлено, оно обновляется автоматически.

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

Параметры
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 , обёрнутый в результат. Это может быть

  • Успешное будущее, оборачивающее PrepareEnvironmentResponse , содержащее сведения об окончательном статусе подготовки среды.

  • Неудачная будущая оболочка InvalidArgumentException , если:

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

  • Неудачная будущая оболочка GooglePlayServicesAppNotUpdatedException , если сервисы Google Play не обновлены.

  • Неудачная будущая оболочка для AndroidDevicePolicyInstallOrUpdateUnrecoverableException , если Android Device Policy не устанавливается или не обновляется и ошибка неустранима.

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

  • Неудачная будущая оболочка для исключения AndroidDevicePolicyInstallConsentDeclinedException , если пользователь отказывается установить приложение Android Device Policy.

  • Неудачная будущая оболочка AndroidDevicePolicyInstallConsentDismissedException , если пользователь закрывает экран согласия на установку.

  • Неудачный будущий объект, оборачивающий InternalException , если вызов не удался из-за внутренней ошибки.

  • Неудачное будущее, создающее исключение PlayStoreUpdateUnrecoverableException , если обновление Play Store не удалось.

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

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