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()
アプリによって登録されたすべての |
String
|
getClientPackageName()
クライアント アプリのパッケージ名を返します。 |
SharedPreferences
|
getClientSharedPreferences()
クライアント アプリから同期されたデータを含む |
List<SandboxedSdk>
|
getSandboxedSdks()
サンドボックスに読み込まれた SDK に関する情報を取得します。 |
void
|
loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
SDK サンドボックスの Java プロセスで SDK を読み込みます。 |
IBinder
|
registerSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)
|
void
|
unregisterSdkSandboxActivityHandler(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<SandboxedSdk, LoadSdkException> 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 になることはありません。 |