DpcMigrationClient

interface DpcMigrationClient


DPC 移行関連のリクエストを行うクライアント。

概要

パブリック関数

ListenableFuture<DpcMigrationAttempt?>
getMigrationAttempt(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
)

移行の試行を取得します。

suspend DpcMigrationAttempt?
getMigrationAttemptAwait(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
)

移行の試行を取得します。

ListenableFuture<List<DpcMigrationAttempt>>

すべての移行の試行のリストを返します。

suspend List<DpcMigrationAttempt>

すべての移行の試行のリストを返します。

ListenableFuture<DpcMigrationAttempt>
migrateDeviceManagementToAndroidManagementApi(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
)

このデバイスを Android Management API の管理対象に移行します。

suspend DpcMigrationAttempt
migrateDeviceManagementToAndroidManagementApiAwait(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
)

このデバイスを Android Management API の管理対象に移行します。

パブリック関数

getMigrationAttempt

fun getMigrationAttempt(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
): ListenableFuture<DpcMigrationAttempt?>

移行の試行を取得します。

GetDpcMigrationAttemptRequest に名前が指定されていない場合は、最新の DpcMigrationAttempt が返されます。

このメソッドは、デバイス所有者またはプロファイル所有者、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者のみが呼び出すことができます。

戻り値
ListenableFuture<DpcMigrationAttempt?>

結果をラップする ListenableFuture。次の種類があります。

  • DpcMigrationAttempt のラップが成功した場合(成功した場合)。

  • DpcMigrationAttempt が見つからない場合は、null をラップします。

  • 呼び出し元がデバイス所有者でもプロファイル所有者でもない場合、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者でない場合、SecurityException の将来のラップの失敗。

  • DPC 移行関連の呼び出しが失敗した場合、DpcMigrationException の将来のラップの失敗。メッセージと例外のサブタイプに、失敗に関する詳細情報が含まれています。

getMigrationAttemptAwait

suspend fun getMigrationAttemptAwait(
    getMigrationAttemptRequest: GetDpcMigrationAttemptRequest
): DpcMigrationAttempt?

移行の試行を取得します。

GetDpcMigrationAttemptRequest に名前が指定されていない場合は、最新の DpcMigrationAttempt が返されます。

このメソッドは、デバイス所有者またはプロファイル所有者、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者のみが呼び出すことができます。

戻り値
DpcMigrationAttempt?

リクエストされた DpcMigrationAttempt、または null(見つからない場合)

例外
java.lang.SecurityException

呼び出し元がデバイス所有者でもプロファイル所有者でもない場合、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者の場合。

com.google.android.managementapi.dpcmigration.DpcMigrationException

dpc の移行に関連する呼び出しが失敗した場合。メッセージと例外のサブタイプに、失敗に関する詳細情報が含まれています。

listMigrationAttempts

fun listMigrationAttempts(): ListenableFuture<List<DpcMigrationAttempt>>

すべての移行の試行のリストを返します。

このメソッドは、デバイス所有者またはプロファイル所有者、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者のみが呼び出すことができます。注: 以前の移行試行は自動的に削除され、返されません。

戻り値
ListenableFuture<List<DpcMigrationAttempt>>

結果をラップする ListenableFuture。次の種類があります。

  • DpcMigrationAttempt のリストをラップする Future が成功しました(成功した場合)。

  • 呼び出し元がデバイス所有者でもプロファイル所有者でもない場合、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者でない場合、SecurityException の将来のラップの失敗。

  • DPC 移行関連の呼び出しが失敗した場合、DpcMigrationException の将来のラップの失敗。メッセージと例外のサブタイプに、失敗に関する詳細情報が含まれています。

listMigrationAttemptsAwait

suspend fun listMigrationAttemptsAwait(): List<DpcMigrationAttempt>

すべての移行の試行のリストを返します。

このメソッドは、デバイス所有者またはプロファイル所有者、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者のみが呼び出すことができます。注: 以前の移行試行は自動的に削除され、返されません。

戻り値
List<DpcMigrationAttempt>

DpcMigrationAttempt のリスト

例外
java.lang.SecurityException

呼び出し元がデバイス所有者でもプロファイル所有者でもない場合、または Android Management API に移行した以前のデバイス所有者またはプロファイル所有者の場合。

com.google.android.managementapi.dpcmigration.DpcMigrationException

dpc の移行に関連する呼び出しが失敗した場合。メッセージと例外のサブタイプに、失敗に関する詳細情報が含まれています。

migrateDeviceManagementToAndroidManagementApi

fun migrateDeviceManagementToAndroidManagementApi(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
): ListenableFuture<DpcMigrationAttempt>

このデバイスを Android Management API の管理対象に移行します。

移行が完了すると、呼び出し元アプリは、デバイス所有者やプロファイル所有者の権限が Android Device Policy に移行されるため、権限を失います。

警告: この操作は元に戻せません。Android Device Policy がリクエストを受信し、移行トークンの予備チェックが完了すると、返された ListenableFuture が完了します。失敗した場合、ListenableFuture は Exception をラップします。

このメソッドは、デバイス所有者またはプロファイル所有者のみが呼び出すことができます。Android 10 以前では、デバイス所有者とプロファイル所有者の両方が登録されているデバイスでは、これを呼び出すことはできません。

個人所有デバイスで Wi-Fi ネットワークが設定されている場合、設定済みの Wi-Fi ネットワークは、プロファイル所有者が DpcMigrationRequest で渡す必要があります(Android 12 を除く)。会社所有のデバイスでは渡さないでください。これらの Wi-Fi ネットワークは、デバイス管理が Android Device Policy に移行される直前に削除されます。ネットワークの削除に失敗した場合、移行も失敗します。ネットワークの削除はアトミック オペレーションではないため、一部のネットワークはすでに削除されている可能性があります。

Android 12 を搭載した仕事用プロファイルが設定された個人所有デバイスでは、migrationRequest で渡された Wi-Fi ネットワークに関係なく、デバイス管理が Android Device Policy に移行される直前に、呼び出し元の DPC によって設定されたすべての Wi-Fi ネットワークが削除されます。

パラメータ
notificationServiceComponentName: ComponentName

NotificationReceiverService を拡張するサービスの ComponentName。これは呼び出し元のアプリに属する有効なコンポーネントで、マニフェストにエクスポートされている必要があります。そうでない場合は IllegalArgumentException がスローされます。

adminComponentName: ComponentName

呼び出し元 DPC の管理者 DeviceAdminReceiverComponentName

migrationRequest: DpcMigrationRequest

移行トークンと設定済みの Wi-Fi ネットワークを含む DpcMigrationRequest。後者は、呼び出し元が個人所有デバイスのプロファイル所有者であり、ネットワークを設定している場合にのみ必要です。

戻り値
ListenableFuture<DpcMigrationAttempt>

結果をラップする ListenableFuture。次の種類があります。

  • DpcMigrationAttempt のラップが成功した場合(成功した場合)。

  • 呼び出し元がデバイス所有者でもプロファイル所有者でもない場合、SecurityException の将来のラップの失敗。

  • 移行トークンが空の場合、またはマニフェストでエクスポートされている NotificationReceiverService を拡張する有効なコンポーネントを notificationServiceComponentName が参照していない場合、または adminComponentName が現在のパッケージに属するアクティブな管理者でない場合、IllegalArgumentException の将来のラップの失敗。

  • DPC 移行関連の呼び出しが失敗した場合、DpcMigrationException の将来のラップも失敗しました。メッセージと例外のサブタイプに、失敗に関する詳細情報が含まれています。

migrateDeviceManagementToAndroidManagementApiAwait

suspend fun migrateDeviceManagementToAndroidManagementApiAwait(
    notificationServiceComponentName: ComponentName,
    adminComponentName: ComponentName,
    migrationRequest: DpcMigrationRequest
): DpcMigrationAttempt

このデバイスを Android Management API の管理対象に移行します。

移行が完了すると、呼び出し元アプリは、デバイス所有者やプロファイル所有者の権限が Android Device Policy に移行されるため、権限を失います。

警告: この操作は元に戻せません。この suspend fun は、Android Device Policy がリクエストを受信し、移行トークンの予備チェックを完了したときに返されます。失敗した場合は、Exception がスローされます。

このメソッドは、デバイス所有者またはプロファイル所有者のみが呼び出すことができます。Android 10 以前では、デバイス所有者とプロファイル所有者の両方が登録されているデバイスでは、これを呼び出すことはできません。

個人所有デバイスで Wi-Fi ネットワークが設定されている場合、設定済みの Wi-Fi ネットワークは、プロファイル所有者が DpcMigrationRequest で渡す必要があります(Android 12 を除く)。会社所有のデバイスでは渡さないでください。これらの Wi-Fi ネットワークは、デバイス管理が Android Device Policy に移行される直前に削除されます。ネットワークの削除に失敗した場合、移行も失敗します。ネットワークの削除はアトミック オペレーションではないため、一部のネットワークはすでに削除されている可能性があります。

Android 12 を搭載した仕事用プロファイルが設定された個人所有デバイスでは、migrationRequest で渡された Wi-Fi ネットワークに関係なく、デバイス管理が Android Device Policy に移行される直前に、呼び出し元の DPC によって設定されたすべての Wi-Fi ネットワークが削除されます。

パラメータ
notificationServiceComponentName: ComponentName

NotificationReceiverService を拡張するサービスの ComponentName。これは呼び出し元のアプリに属する有効なコンポーネントで、マニフェストにエクスポートされている必要があります。そうでない場合は IllegalArgumentException がスローされます。

adminComponentName: ComponentName

呼び出し元 DPC の管理者 DeviceAdminReceiverComponentName

migrationRequest: DpcMigrationRequest

移行トークンと設定済みの Wi-Fi ネットワークを含む DpcMigrationRequest。後者は、呼び出し元が個人所有デバイスのプロファイル所有者であり、ネットワークを設定している場合にのみ必要です。

戻り値
DpcMigrationAttempt

DpcMigrationException は、移行の現在のステータスに置き換えます(成功した場合)。

例外
java.lang.SecurityException

発信者がデバイス所有者でもプロファイル所有者でもない場合。

java.lang.IllegalArgumentException

移行トークンが空の場合、またはマニフェストでエクスポートされる NotificationReceiverService を拡張する有効なコンポーネントを notificationServiceComponentName が参照していない場合、または adminComponentName が現在のパッケージに属するアクティブな管理者でない場合。

com.google.android.managementapi.dpcmigration.DpcMigrationException

dpc の移行に関連する呼び出しが失敗した場合。メッセージと例外のサブタイプに、失敗に関する詳細情報が含まれています。