SdkSandboxController

public class SdkSandboxController
extends Object

java.lang.Object
   ↳ android.app.sdksandbox.sdkprovider.SdkSandboxController


サンドボックスに読み込まれた SDK が、SDK サンドボックスによって提供される情報にアクセスするために使用するコントローラ。

これにより、SDK は SDK サンドボックス内の他の SDK と通信し、現在読み込まれている SDK の状態を把握できるようになります。

SdkSandboxController のインスタンスは、Context.getSystemService(Class)class を使用して取得できます。Context は、SandboxedSdkProvider.getContext() を使用して取得できます。

まとめ

定数

String SDK_SANDBOX_CONTROLLER_SERVICE

パブリック メソッド

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

アプリによって登録されたすべての AppOwnedSdkSandboxInterface を取得します。

String getClientPackageName()

クライアント アプリのパッケージ名を返します。

SharedPreferences getClientSharedPreferences()

クライアント アプリから同期されたデータを含む SharedPreferences を返します。

List<SandboxedSdk> getSandboxedSdks()

サンドボックスに読み込まれた SDK に関する情報を取得します。

void loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

SDK サンドボックスの Java プロセスで SDK を読み込みます。

IBinder registerSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)

SdkSandboxActivityHandler の登録後にその識別子を返します。

void unregisterSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)

すでに登録されている SdkSandboxActivityHandler の登録を解除します。

継承されるメソッド

定数

SDK_SANDBOX_CONTROLLER_SERVICE

public static final String SDK_SANDBOX_CONTROLLER_SERVICE

定数値: "sdk_sandbox_controller_service"

パブリック メソッド

getAppOwnedSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

アプリによって登録されたすべての AppOwnedSdkSandboxInterface を取得します。

戻り値
List<AppOwnedSdkSandboxInterface> 現在登録されているすべての AppOwnedSdkSandboxInterface を含む AppOwnedSdkSandboxInterface のリスト。 この値が null になることはありません。

例外
UnsupportedOperationException コントローラが予期しないコンテキストから取得された場合。適切なコンテキストに SandboxedSdkProvider#getContext() を使用する

getClientPackageName

public String getClientPackageName ()

クライアント アプリのパッケージ名を返します。

戻り値
String この値が null になることはありません。

例外
UnsupportedOperationException コントローラが予期しないコンテキストから取得された場合。適切なコンテキストには SandboxedSdkProvider#getContext() を使用してください。

getClientSharedPreferences

public SharedPreferences getClientSharedPreferences ()

クライアント アプリから同期されたデータを含む SharedPreferences を返します。

SdkSandboxManager.addSyncedSharedPreferencesKeys(Set) を使用してクライアント アプリによって同期された鍵は、この SharedPreferences で確認できます。

返される SharedPreferences は、読み取りのみにする必要があります。書き込みはサポートされていません。

戻り値
SharedPreferences クライアント アプリから同期されたデータを含んでいる SharedPreferences。この値が null になることはありません。

例外
UnsupportedOperationException コントローラが予期しないコンテキストから取得された場合。適切なコンテキストに SandboxedSdkProvider#getContext() を使用する

getSandboxedSdks

public List<SandboxedSdk> getSandboxedSdks ()

サンドボックスに読み込まれた SDK に関する情報を取得します。

戻り値
List<SandboxedSdk> 現在読み込まれているすべての SDK を含む SandboxedSdk のリスト。この値が null になることはありません。

例外
UnsupportedOperationException コントローラが予期しないコンテキストから取得された場合。適切なコンテキストに SandboxedSdkProvider#getContext() を使用する

loadSdk

public void loadSdk (String sdkName, 
                Bundle params, 
                Executor executor, 
                OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

SDK サンドボックスの Java プロセスで SDK を読み込みます。

sdkName を使用して SDK ライブラリを SDK サンドボックス プロセスに非同期で読み込みます。呼び出し元には receiver を介して通知されます。

呼び出し元は、クライアント アプリが依存している SDKs のみを SDK サンドボックスに読み込むことができます。

パラメータ
sdkName String: 読み込む SDK の名前。 この値が null になることはありません。

params Bundle: クライアントと SDK の合意に基づき、Bundle の形式で SDK に渡される追加のパラメータ。 この値が null になることはありません。

executor Executor: レシーバを呼び出す Executor。この値が null になることはありません。 コールバック イベントとリスナー イベントはこの Executor を通じてディスパッチされるため、使用するスレッドを簡単に制御できます。アプリのメインスレッドを通じてイベントをディスパッチするには、Context.getMainExecutor() を使用します。それ以外の場合は、適切なスレッドにディスパッチする Executor を提供します。

receiver OutcomeReceiver: 実行が成功すると SandboxedSdk を受け取ります。または、LoadSdkException を受け取ります。この値を null にすることはできません。

例外
UnsupportedOperationException コントローラが予期しないコンテキストから取得された場合。適切なコンテキストに SandboxedSdkProvider#getContext() を使用する

registerSdkSandboxActivityHandler

public IBinder registerSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)

SdkSandboxActivityHandler の登録後にその識別子を返します。

この関数は、SDK によって作成された SdkSandboxActivityHandler の実装を登録し、渡された SdkSandboxActivityHandler オブジェクトを一意に識別する IBinder を返します。

登録を解除せずに同じ SdkSandboxActivityHandler が複数回登録された場合は、同じ IBinder トークンが返されます。

パラメータ
sdkSandboxActivityHandler SdkSandboxActivityHandler: 登録する SdkSandboxActivityHandler です。この値が null になることはありません。

戻り値
IBinder IBinder は、渡された SdkSandboxActivityHandler を一意に識別します。 この値が null になることはありません。

unregisterSdkSandboxActivityHandler

public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)

すでに登録されている SdkSandboxActivityHandler の登録を解除します。

渡された SdkSandboxActivityHandler が登録されると、登録が解除されます。それ以外の場合は何も実行されません。

登録を解除した後、SDK は同じハンドラ オブジェクトを再度登録するか、新しい Activity が必要な場合のために新しいハンドラ オブジェクトを作成できます。

未登録のハンドラの IBinder トークンを使用して Activity を開始した場合、Activity の起動に失敗します。

パラメータ
sdkSandboxActivityHandler SdkSandboxActivityHandler: 登録を解除する SdkSandboxActivityHandler です。 この値が null になることはありません。

戻り値
void この値が null になることはありません。