SandboxedSdk

public final class SandboxedSdk
extends Object implements Parcelable

java.lang.Object
   ↳ android.app.sdksandbox.SandboxedSdk


サンドボックス プロセスで読み込まれた SDK を表します。

成功すると、SdkSandboxManager#loadSdk に応じて返されます。この ID を取得するには、アプリは SdkSandboxManager#loadSdk を呼び出します。getInterface() を介して SDK へのインターフェースを取得するには、このオブジェクトを使用する必要があります。

SDK は、SandboxedSdkProvider#onLoadSdk が呼び出されたときにこの ID を作成し、SandboxedSdkProvider#beforeUnloadSdk() が呼び出されると、その ID へのすべての参照を破棄する必要があります。また、SandboxedSdkProvider#beforeUnloadSdk() が呼び出された後に、getInterface() から返された IBinder の呼び出しを失敗させる必要があります。

まとめ

継承される定数

フィールド

public static final Creator<SandboxedSdk> CREATOR

パブリック コンストラクタ

SandboxedSdk(IBinder sdkInterface)

SandboxedSdk オブジェクトを作成します。

パブリック メソッド

int describeContents()

この Parcelable インスタンスの整列化表現に含まれている特殊オブジェクトの種類を記述します。

IBinder getInterface()

SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver) に応じて読み込まれた SDK へのインターフェースを返します。

SharedLibraryInfo getSharedLibraryInfo()

SDK の SharedLibraryInfo を返します。

void writeToParcel(Parcel dest, int flags)

このオブジェクトを Parcel にフラット化します。

継承されるメソッド

フィールド

CREATOR

public static final Creator<SandboxedSdk> CREATOR

パブリック コンストラクタ

SandboxedSdk

public SandboxedSdk (IBinder sdkInterface)

SandboxedSdk オブジェクトを作成します。

パラメータ
sdkInterface IBinder: SDK のインターフェース。これは、アプリのサンドボックス化された SDK のエントリポイントになります。SDK は、サンドボックスに読み込まれるまで有効な状態を維持し、アンロード後はこのインターフェースの呼び出しを失敗させる必要があります。

このインターフェースは、後で getInterface() を使用して取得できます。 この値が null になることはありません。

パブリック メソッド

describeContents

API レベル 34 で追加されました
public int describeContents ()

この Parcelable インスタンスの整列化表現に含まれている特殊オブジェクトの種類を記述します。たとえば、オブジェクトに writeToParcel(android.os.Parcel, int) の出力のファイル記述子が含まれる場合、このメソッドの戻り値に CONTENTS_FILE_DESCRIPTOR ビットが含まれている必要があります。

戻り値
int この Parcelable オブジェクトのインスタンスによって整列化された特殊オブジェクト タイプを示すビットマスク。 値は 0 または CONTENTS_FILE_DESCRIPTOR です

getInterface

public IBinder getInterface ()

SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver) に応じて読み込まれた SDK へのインターフェースを返します。Binder が使用できなくなった場合は、SDK のアンロードに応答して null インターフェースが返されます。

戻り値
IBinder

getSharedLibraryInfo

public SharedLibraryInfo getSharedLibraryInfo ()

SDK の SharedLibraryInfo を返します。

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

例外
IllegalStateException SDK から送信された SandboxedSdk オブジェクトにシステム サービスが SharedLibraryInfo をまだアタッチしていない場合。

writeToParcel

API レベル 34 で追加されました
public void writeToParcel (Parcel dest, 
                int flags)

このオブジェクトを Parcel にフラット化します。

パラメータ
dest Parcel: この値を null にすることはできません。

flags int: オブジェクトの書き込み方法に関する追加のフラグ。0 または Parcelable.PARCELABLE_WRITE_RETURN_VALUE です。 値は、0 か、Parcelable.PARCELABLE_WRITE_RETURN_VALUE と android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES の組み合わせのいずれかです。