DpcMigrationClient

public interface DpcMigrationClient


클라이언트가 DPC 이전 관련 요청을 합니다.

요약

공개 메서드

abstract @NonNull ListenableFuture<DpcMigrationAttempt>
getMigrationAttempt(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

이전 시도를 가져옵니다.

abstract DpcMigrationAttempt
getMigrationAttemptAwait(
    @NonNull GetDpcMigrationAttemptRequest getMigrationAttemptRequest
)

이전 시도를 가져옵니다.

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을 래핑하는 성공적인 Future입니다.

  • DpcMigrationAttempt를 찾을 수 없는 경우 null을 래핑하는 성공적인 Future입니다.

  • 호출자가 기기 소유자나 프로필 소유자가 아니거나 Android Management API로 이전된 이전 기기 소유자나 프로필 소유자인 경우 SecurityException를 래핑하는 실패한 future입니다.

  • dpc 이전 관련 호출이 실패한 경우 DpcMigrationException을 래핑하는 실패한 future입니다. 메시지와 예외의 하위 유형에는 실패에 대한 자세한 내용이 포함되어 있습니다.

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 목록을 래핑하는 성공한 future입니다.

  • 호출자가 기기 소유자나 프로필 소유자가 아니거나 Android Management API로 이전된 이전 기기 소유자나 프로필 소유자인 경우 SecurityException를 래핑하는 실패한 future입니다.

  • dpc 이전 관련 호출이 실패한 경우 DpcMigrationException을 래핑하는 실패한 future입니다. 메시지와 예외의 하위 유형에는 실패에 대한 자세한 내용이 포함되어 있습니다.

listMigrationAttemptsAwait

abstract @NonNull List<@NonNull DpcMigrationAttemptlistMigrationAttemptsAwait()

모든 이전 시도 목록을 반환합니다.

이 메서드는 기기 소유자 또는 프로필 소유자, Android Management API로 이전된 이전 기기 소유자 또는 프로필 소유자만 호출할 수 있습니다. 참고: 오래된 이전 시도는 자동으로 삭제되며 반환되지 않습니다.

생성 값
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 Device Policy로 이전되기 때문입니다.

경고: 이 작업은 취소할 수 없습니다. 반환된 ListenableFuture는 Android Device Policy가 요청을 수신하고 이전 토큰에 대한 예비 검사를 완료하면 완료됩니다. 실패하면 ListenableFuture가 Exception을 래핑합니다.

이 메서드는 기기 소유자 또는 프로필 소유자만 호출할 수 있습니다. Android 10 이하에서는 기기에 기기 소유자와 프로필 소유자가 모두 있는 경우 이를 호출하면 안 됩니다.

구성된 Wi-Fi 네트워크는 개인 소유 기기에서 프로필 소유자가 DpcMigrationRequest에 전달해야 합니다 (Android 12 제외). 회사 소유 기기에서는 전달하면 안 됩니다. 이러한 Wi-Fi 네트워크는 기기 관리가 Android 기기 정책으로 이전되기 직전에 삭제됩니다. 네트워크를 삭제하지 못하면 이전도 실패합니다. 네트워크 삭제는 원자적 작업이 아니므로 일부 네트워크는 이미 삭제되었을 수 있습니다.

Android 12를 실행하는 직장 프로필이 있는 개인 소유 기기에서 호출 DPC에 의해 구성된 모든 Wi-Fi 네트워크는 기기 관리가 Android 기기 정책으로 이전되기 직전에 삭제됩니다(migrationRequest에 전달된 Wi-Fi 네트워크와 관계없음).

매개변수
@NonNull ComponentName notificationServiceComponentName

NotificationReceiverService을 확장하는 서비스의 ComponentName입니다. 호출 앱에 속하고 매니페스트에 내보내진 유효한 구성요소여야 합니다. 그렇지 않으면 IllegalArgumentException가 발생합니다.

@NonNull ComponentName adminComponentName

호출 DPC의 관리자 DeviceAdminReceiverComponentName입니다.

@NonNull DpcMigrationRequest migrationRequest

마이그레이션 토큰과 구성된 Wi-Fi 네트워크가 포함된 DpcMigrationRequest 후자는 호출자가 개인 소유 기기의 프로필 소유자이고 네트워크를 구성한 경우에만 필요합니다.

반환 값
@NonNull ListenableFuture<@NonNull DpcMigrationAttempt>

결과를 래핑하는 ListenableFuture 다음과 같은 값을 가질 수 있습니다.

migrateDeviceManagementToAndroidManagementApiAwait

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

이 기기를 Android Management API에서 관리하도록 이전합니다.

마이그레이션이 완료되면 호출 앱은 기기 소유자 또는 프로필 소유자 권한을 잃게 됩니다. 이러한 권한이 Android Device Policy로 이전되기 때문입니다.

경고: 이 작업은 취소할 수 없습니다. 이 중단 함수는 Android Device Policy가 요청을 수신하고 이전 토큰에 대한 예비 검사를 완료하면 반환됩니다. 실패하면 Exception이 발생합니다.

이 메서드는 기기 소유자 또는 프로필 소유자만 호출할 수 있습니다. Android 10 이하에서는 기기에 기기 소유자와 프로필 소유자가 모두 있는 경우 이를 호출하면 안 됩니다.

구성된 Wi-Fi 네트워크는 개인 소유 기기에서 프로필 소유자가 DpcMigrationRequest에 전달해야 합니다 (Android 12 제외). 회사 소유 기기에서는 전달하면 안 됩니다. 이러한 Wi-Fi 네트워크는 기기 관리가 Android 기기 정책으로 이전되기 직전에 삭제됩니다. 네트워크를 삭제하지 못하면 이전도 실패합니다. 네트워크 삭제는 원자적 작업이 아니므로 일부 네트워크는 이미 삭제되었을 수 있습니다.

Android 12를 실행하는 직장 프로필이 있는 개인 소유 기기에서 호출 DPC에 의해 구성된 모든 Wi-Fi 네트워크는 기기 관리가 Android 기기 정책으로 이전되기 직전에 삭제됩니다(migrationRequest에 전달된 Wi-Fi 네트워크와 관계없음).

매개변수
@NonNull ComponentName notificationServiceComponentName

NotificationReceiverService을 확장하는 서비스의 ComponentName입니다. 호출 앱에 속하고 매니페스트에 내보내진 유효한 구성요소여야 합니다. 그렇지 않으면 IllegalArgumentException가 발생합니다.

@NonNull ComponentName adminComponentName

호출 DPC의 관리자 DeviceAdminReceiverComponentName입니다.

@NonNull DpcMigrationRequest migrationRequest

마이그레이션 토큰과 구성된 Wi-Fi 네트워크가 포함된 DpcMigrationRequest 후자는 호출자가 개인 소유 기기의 프로필 소유자이고 네트워크를 구성한 경우에만 필요합니다.

반환 값
@NonNull DpcMigrationAttempt

성공한 경우 이전의 현재 상태와 함께 DpcMigrationException를 반환합니다.

생성 값
java.lang.SecurityException

호출자가 기기 소유자 또는 프로필 소유자가 아닌 경우

kotlin.IllegalArgumentException

이전 토큰이 비어 있거나 notificationServiceComponentName가 매니페스트에 내보내진 NotificationReceiverService를 확장하는 유효한 구성요소를 참조하지 않거나 adminComponentName가 현재 패키지에 속한 활성 관리자가 아닌 경우

com.google.android.managementapi.dpcmigration.DpcMigrationException

DPC 이전 관련 호출이 실패한 경우 메시지와 예외의 하위 유형에는 실패에 대한 자세한 내용이 포함되어 있습니다.