DpcMigrationClient

public interface DpcMigrationClient


Клиент должен подать запросы, связанные с миграцией DPC.

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

Общедоступные методы

abstract @ NonNull ListenableFuture < DpcMigrationAttempt >

Предпринимается попытка миграции.

abstract DpcMigrationAttempt

Предпринимается попытка миграции.

abstract @ NonNull ListenableFuture <@ NonNull List <@ NonNull DpcMigrationAttempt >>

Возвращает список всех попыток миграции.

abstract @ NonNull List <@ NonNull DpcMigrationAttempt >

Возвращает список всех попыток миграции.

abstract @ NonNull ListenableFuture <@ NonNull DpcMigrationAttempt >
migrateDeviceManagementToAndroidManagementApi (
@ NonNull ComponentName notificationServiceComponentName,
@ NonNull ComponentName adminComponentName,
@ NonNull DpcMigrationRequest migrationRequest
)

Переведите управление этим устройством на использование Android Management API.

abstract @ NonNull DpcMigrationAttempt
migrateDeviceManagementToAndroidManagementApiAwait (
@ NonNull ComponentName notificationServiceComponentName,
@ NonNull ComponentName adminComponentName,
@ NonNull DpcMigrationRequest migrationRequest
)

Переведите управление этим устройством на использование Android Management API.

Общедоступные методы

getMigrationAttempt

abstract @NonNull ListenableFuture<DpcMigrationAttemptgetMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

Предпринимается попытка миграции.

Если в запросе GetDpcMigrationAttemptRequest не указано имя, возвращается самый последний DpcMigrationAttempt .

Этот метод может быть вызван только владельцем устройства или владельцем профиля, либо предыдущим владельцем устройства или профиля, перешедшим на Android Management API.

Возвраты
@ NonNull ListenableFuture < DpcMigrationAttempt >

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

  • Успешное завершение попытки миграции DpcMigrationAttempt в случае ее успеха.

  • В случае неудачной DpcMigrationAttempt объект Future должен быть обернут в null.

  • Ошибка при обработке события SecurityException возникает в случае, если вызывающий объект не является владельцем устройства или профилем, или же он ранее являлся владельцем устройства или профиля, перешедшим на Android Management API.

  • Ошибка при обработке вызова DpcMigrationException , связанного с миграцией DPC. Сообщение и подтип исключения содержат более подробную информацию о сбое.

getMigrationAttemptAwait

abstract DpcMigrationAttempt getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

Предпринимается попытка миграции.

Если в запросе GetDpcMigrationAttemptRequest не указано имя, возвращается самый последний DpcMigrationAttempt .

Этот метод может быть вызван только владельцем устройства или владельцем профиля, либо предыдущим владельцем устройства или профиля, перешедшим на Android Management API.

Возвраты
DpcMigrationAttempt

Запрошенное значение DpcMigrationAttempt или null, если оно не найдено.

Броски
java.lang.SecurityException

Если вызывающая сторона не является владельцем устройства или владельцем профиля, или бывшим владельцем устройства или профиля, перешедшим на Android Management API.

com.google.android.managementapi.dpcmigration.DpcMigrationException

Если вызов, связанный с миграцией DPC, завершился неудачей, сообщение и подтип исключения содержат более подробную информацию о сбое.

listMigrationAttempts

abstract @NonNull ListenableFuture<@NonNull List<@NonNull DpcMigrationAttempt>> listMigrationAttempts()

Возвращает список всех попыток миграции.

Этот метод может быть вызван только владельцем устройства или владельцем профиля, либо предыдущим владельцем устройства или профиля, который перешел на Android Management API. Примечание: более старые попытки миграции автоматически удаляются и не возвращаются.

Возвраты
@ NonNull ListenableFuture <@ NonNull List <@ NonNull DpcMigrationAttempt >>

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

  • Успешное будущее, подводящее итог списку попыток DpcMigrationAttempt в случае успеха.

  • Ошибка при обработке события SecurityException возникает в случае, если вызывающий объект не является владельцем устройства или профилем, или же он ранее являлся владельцем устройства или профиля, перешедшим на Android Management API.

  • Ошибка при обработке вызова DpcMigrationException , связанного с миграцией DPC. Сообщение и подтип исключения содержат более подробную информацию о сбое.

listMigrationAttemptsAwait

abstract @NonNull List<@NonNull DpcMigrationAttemptlistMigrationAttemptsAwait()

Возвращает список всех попыток миграции.

Этот метод может быть вызван только владельцем устройства или владельцем профиля, либо предыдущим владельцем устройства или профиля, который перешел на Android Management API. Примечание: более старые попытки миграции автоматически удаляются и не возвращаются.

Возвраты
@ NonNull List <@ NonNull DpcMigrationAttempt >

Список DpcMigrationAttempt

Броски
java.lang.SecurityException

Если вызывающая сторона не является владельцем устройства или владельцем профиля, или бывшим владельцем устройства или профиля, перешедшим на Android Management API.

com.google.android.managementapi.dpcmigration.DpcMigrationException

Если вызов, связанный с миграцией DPC, завершился неудачей, сообщение и подтип исключения содержат более подробную информацию о сбое.

migrateDeviceManagementToAndroidManagementApi

abstract @NonNull ListenableFuture<@NonNull DpcMigrationAttemptmigrateDeviceManagementToAndroidManagementApi(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

Переведите управление этим устройством на использование Android Management API.

После завершения миграции вызывающее приложение теряет свои привилегии владельца устройства или владельца профиля, поскольку они передаются в политику устройств Android.

Внимание: это действие необратимо! Возвращаемый ListenableFuture завершается, когда Android Device Policy получает запрос и завершает предварительные проверки токена миграции. В случае сбоя ListenableFuture будет обернут в Exception .

Этот метод может быть вызван только владельцем устройства или владельцем профиля. На устройствах Android 10 и более ранних версий его нельзя вызывать на устройствах, имеющих одновременно владельца устройства и владельца профиля.

На личном устройстве необходимо передать в DpcMigrationRequest владельца профиля (кроме Android 12), если на нем настроены какие-либо сети Wi-Fi. На устройстве, принадлежащем компании, эти сети передавать нельзя. Обратите внимание, что эти сети Wi-Fi будут удалены непосредственно перед переносом управления устройством в политику устройств Android. В случае неудачи с удалением сети, миграция также завершится неудачей, и поскольку удаление сетей не является атомарной операцией, некоторые сети могли быть уже удалены.

На личных устройствах с рабочим профилем под управлением Android 12 все сети Wi-Fi, настроенные вызывающим DPC, будут удалены непосредственно перед переносом управления устройством в Android Device Policy, независимо от сетей Wi-Fi, переданных в migrationRequest .

Параметры
@ NonNull ComponentName notificationServiceComponentName

ComponentName сервиса, наследующего NotificationReceiverService . Он должен быть допустимым компонентом, принадлежащим вызывающему приложению и экспортированным в манифесте, в противном случае будет выброшено исключение IllegalArgumentException .

@ NonNull ComponentName adminComponentName

ComponentName административного DeviceAdminReceiver вызывающего DPC.

@ NonNull DpcMigrationRequest migrationRequest

Запрос DpcMigrationRequest содержит токен миграции и настроенные сети Wi-Fi. Последние требуются только в том случае, если вызывающая сторона является владельцем профиля на личном устройстве и настроила какие-либо сети.

Возвраты
@ NonNull ListenableFuture <@ NonNull DpcMigrationAttempt >

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

  • Успешное завершение попытки миграции DpcMigrationAttempt в случае ее успеха.

  • Ошибка при выполнении функции, содержащей исключение SecurityException , если вызывающая сторона не является владельцем устройства или владельцем профиля.

  • Ошибка при выполнении Future, содержащая IllegalArgumentException , возникает, если токен миграции пуст, или если notificationServiceComponentName не ссылается на допустимый компонент, наследующий NotificationReceiverService , который экспортируется в манифесте, или если adminComponentName не является активным администратором, принадлежащим текущему пакету.

  • Ошибка, связанная с вызовом DpcMigrationException , если он завершился неудачей. Сообщение и подтип исключения содержат более подробную информацию о сбое.

migrateDeviceManagementToAndroidManagementApiAwait

abstract @NonNull DpcMigrationAttempt migrateDeviceManagementToAndroidManagementApiAwait(
    @NonNull ComponentName notificationServiceComponentName,
    @NonNull ComponentName adminComponentName,
    @NonNull DpcMigrationRequest migrationRequest
)

Переведите управление этим устройством на использование Android Management API.

После завершения миграции вызывающее приложение теряет свои привилегии владельца устройства или владельца профиля, поскольку они передаются в политику устройств Android.

Внимание: это действие необратимо! Функция приостановки возвращается, когда Android Device Policy получит запрос и завершит предварительные проверки токена миграции. В случае сбоя будет сгенерировано Exception .

Этот метод может быть вызван только владельцем устройства или владельцем профиля. На устройствах Android 10 и более ранних версий его нельзя вызывать на устройствах, имеющих одновременно владельца устройства и владельца профиля.

На личном устройстве необходимо передать в DpcMigrationRequest владельца профиля (кроме Android 12), если на нем настроены какие-либо сети Wi-Fi. На устройстве, принадлежащем компании, эти сети передавать нельзя. Обратите внимание, что эти сети Wi-Fi будут удалены непосредственно перед переносом управления устройством в политику устройств Android. В случае неудачи с удалением сети, миграция также завершится неудачей, и поскольку удаление сетей не является атомарной операцией, некоторые сети могли быть уже удалены.

На личных устройствах с рабочим профилем под управлением Android 12 все сети Wi-Fi, настроенные вызывающим DPC, будут удалены непосредственно перед переносом управления устройством в Android Device Policy, независимо от сетей Wi-Fi, переданных в migrationRequest .

Параметры
@ NonNull ComponentName notificationServiceComponentName

ComponentName сервиса, наследующего NotificationReceiverService . Он должен быть допустимым компонентом, принадлежащим вызывающему приложению и экспортированным в манифесте, в противном случае будет выброшено исключение IllegalArgumentException .

@ NonNull ComponentName adminComponentName

ComponentName административного DeviceAdminReceiver вызывающего DPC.

@ NonNull DpcMigrationRequest migrationRequest

Запрос DpcMigrationRequest содержит токен миграции и настроенные сети Wi-Fi. Последние требуются только в том случае, если вызывающая сторона является владельцем профиля на личном устройстве и настроила какие-либо сети.

Возвраты
@ NonNull DpcMigrationAttempt

В случае успешной миграции DpcMigrationException с текущим статусом миграции.

Броски
java.lang.SecurityException

Если вызывающий абонент не является владельцем устройства или владельцем профиля.

kotlin.IllegalArgumentException

Если токен миграции пуст, или если notificationServiceComponentName не ссылается на допустимый компонент, наследующий NotificationReceiverService , который экспортируется в манифесте, или если adminComponentName не является активным администратором, принадлежащим текущему пакету.

com.google.android.managementapi.dpcmigration.DpcMigrationException

Если вызов, связанный с миграцией DPC, завершился неудачей, сообщение и подтип исключения содержат более подробную информацию о сбое.