EnvironmentClient

interface EnvironmentClient


環境関連の API にアクセスするクライアント。

インスタンスの作成に EnvironmentClientFactory が使用されます。

概要

パブリック関数

suspend Environment

Environment を返します。

ListenableFuture<Environment>

Environment を返します。

suspend PrepareEnvironmentResponse
@RequiresApi(value = 28)
prepareEnvironment(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
)

デバイス環境を準備します。

ListenableFuture<PrepareEnvironmentResponse>
@RequiresApi(value = 28)
prepareEnvironmentAsync(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
)

デバイス環境を準備します。

パブリック関数

getEnvironment

@RequiresApi(value = 28)
suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

Environment を返します。呼び出し元が環境の準備ができているかどうかを確認するのに役立ちます。

例外
java.lang.SecurityException

呼び出し元にこの API を呼び出す権限がない。

com.google.android.managementapi.common.exceptions.ApiLevelException

デバイスの API レベルが 28 未満の場合。

com.google.android.managementapi.common.exceptions.InvalidArgumentException

リクエストされたロールが無効な場合。

com.google.android.managementapi.common.exceptions.InternalException

内部エラーが原因で呼び出しが失敗した場合。

getEnvironmentAsync

@RequiresApi(value = 28)
fun getEnvironmentAsync(request: GetEnvironmentRequest): ListenableFuture<Environment>

Environment を返します。呼び出し元が環境の準備ができているかどうかを確認するのに役立ちます。

戻り値
ListenableFuture<Environment>

結果をラップする ListenableFuture。ID には、次のものを使用できます。

  • 成功した場合の Environment をラップした成功したフューチャー。

  • 呼び出し元にこの API を呼び出す権限がない場合に、SecurityException をラップした失敗したフューチャー。

  • デバイスの API レベルが 28 未満の場合、ApiLevelException をラップする失敗したフューチャー。

  • リクエストされたロールが無効な場合、InvalidArgumentException をラップする失敗したフューチャー。

  • 内部エラーが原因で呼び出しが失敗した場合、InternalException をラップする失敗したフューチャー。

prepareEnvironment

@RequiresApi(value = 28)
suspend fun prepareEnvironment(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): PrepareEnvironmentResponse

デバイス環境を準備します。

必要な Android Device Policy アプリをインストールするようユーザーに求めるメッセージが表示されます。ユーザーがプロンプトを承認すると、インストールを続行します。インストールが正常に完了すると、Android Device Policy アプリの準備が整っていることを確認する処理が実行されます。

パラメータ
notificationServiceComponentName: ComponentName?

NotificationReceiverService を拡張するサービスの ComponentName。指定する場合は、呼び出し元のアプリに属する有効なコンポーネントで、マニフェストでエクスポートされている必要があります。環境準備イベントの通知を受け取るには、次の操作を行う必要があります。

  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] は、呼び出し元のアプリに属する有効なコンポーネントではありません。また、マニフェストでエクスポートされていません。
  • リクエストされたロールが無効です。
com.google.android.managementapi.common.exceptions.ApiLevelException

デバイスの API レベルが 28 未満の場合。

java.lang.SecurityException

呼び出し元にこの API を呼び出す権限がない。

com.google.android.managementapi.environment.exception.GooglePlayServicesAppNotUpdatedException Google Play 開発者サービスが最新バージョンでない場合。

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateUnrecoverableException Android デバイス ポリシーのインストールまたは更新に失敗し、エラーを復元できない場合。

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateRecoverableException Android デバイス ポリシー アプリのインストールまたは更新に失敗し、エラーが復元可能な場合(一時的なネットワークの問題が原因でリクエストが失敗した場合など)、リクエストを再試行できます。

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDeclinedException ユーザーが Android Device Policy アプリのインストールを拒否した場合。

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDismissedException ユーザーがインストールの同意画面を閉じた場合。

com.google.android.managementapi.common.exceptions.InternalException

内部エラーが原因で呼び出しが失敗した場合。

prepareEnvironmentAsync

@RequiresApi(value = 28)
fun prepareEnvironmentAsync(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): ListenableFuture<PrepareEnvironmentResponse>

デバイス環境を準備します。

必要な Android Device Policy アプリをインストールするようユーザーに求めるメッセージが表示されます。ユーザーがプロンプトを承認すると、インストールを続行します。インストールが正常に完了すると、Android Device Policy アプリの準備が整っていることを確認する処理が実行されます。

パラメータ
notificationServiceComponentName: ComponentName?

NotificationReceiverService を拡張するサービスの ComponentName。指定する場合は、呼び出し元のアプリに属する有効なコンポーネントで、マニフェストでエクスポートされている必要があります。環境準備イベントの通知を受け取るには、次の操作を行う必要があります。

  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 をラップした成功した Future。

  • InvalidArgumentException をラップする失敗したフューチャー。次の場合:

    • [notificationServiceComponentName] は、呼び出し元のアプリに属する有効なコンポーネントではなく、マニフェストでエクスポートされていません。
    • リクエストされたロールが無効です。
  • デバイスの API レベルが 28 未満の場合、ApiLevelException をラップする失敗したフューチャー。

  • 呼び出し元にこの API を呼び出す権限がない場合に、SecurityException をラップした失敗したフューチャー。

  • Google Play 開発者サービスが最新の状態ではない場合に、GooglePlayServicesAppNotUpdatedException をラップする失敗したフューチャー。

  • Android デバイス ポリシーのインストールまたは更新に失敗し、エラーが復元不能な場合に、AndroidDevicePolicyInstallOrUpdateUnrecoverableException をラップする失敗したフューチャー。

  • Android デバイス ポリシー アプリのインストールまたは更新に失敗し、エラーが復元可能である場合(一時的なネットワークの問題が原因でリクエストが失敗した場合など)、リクエストを再試行できるように、AndroidDevicePolicyInstallOrUpdateRecoverableException をラップした失敗したフューチャー。

  • ユーザーが Android Device Policy アプリのインストールを拒否した場合に、AndroidDevicePolicyInstallConsentDeclinedException をラップする失敗したフューチャー。

  • ユーザーがインストールの同意画面を閉じた場合、AndroidDevicePolicyInstallConsentDismissedException をラップする失敗したフューチャー。

  • 内部エラーが原因で呼び出しが失敗した場合、InternalException をラップする失敗したフューチャー。