沙盒化 SDK

public final class SandboxedSdk
extends Object implements Parcelable

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


表示沙盒进程中加载的 SDK。

成功响应 SdkSandboxManager#loadSdk 而返回。应用可以通过调用 SdkSandboxManager#loadSdk 获取该 ID。它应使用此对象通过 getInterface() 获取 SDK 的接口。

SDK 应在调用 SandboxedSdkProvider#onLoadSdk 时创建,并在调用 SandboxedSdkProvider#beforeUnloadSdk() 时丢弃对它的所有引用。此外,在调用 SandboxedSdkProvider#beforeUnloadSdk() 后,SDK 应会失败对从 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。

继承的方法

字段

公共构造函数

沙盒化 SDK

public SandboxedSdk (IBinder sdkInterface)

创建 SandboxedSdk 对象。

参数
sdkInterface IBinder:SDK 的接口。这将是应用的沙盒化 SDK 的入口点。SDK 在沙盒中加载此 SDK 之前应保持此有效状态,并在卸载后开始调用此接口。

稍后可以使用 getInterface() 检索此接口。此值不能为 null

公共方法

describeContents

public int describeContents ()

描述此 Parcelable 实例的编排表示法中包含的特殊对象的种类。例如,如果对象将在 writeToParcel(android.os.Parcel, int) 的输出中添加一个文件描述符,那么此方法的返回值就必须包含 CONTENTS_FILE_DESCRIPTOR 位。

返回
int 一个位掩码,表示此 Parcelable 对象实例所编排的特殊对象类型集合。值为 0CONTENTS_FILE_DESCRIPTOR

getInterface 接口

public IBinder getInterface ()

返回在响应 SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver) 时加载的 SDK 的接口。如果 Binder 在那之后变为不可用状态,就会返回 null 接口以响应 SDK 卸载。

返回
IBinder

getSharedLibraryInfo

public SharedLibraryInfo getSharedLibraryInfo ()

返回 SDK 的 SharedLibraryInfo

返回
SharedLibraryInfo 此值不能为 null

抛出
IllegalStateException (如果系统服务尚未将 SharedLibraryInfo 附加到 SDK 发送的 SandboxedSdk 对象)。

writeToParcel

public void writeToParcel (Parcel dest, 
                int flags)

将此对象扁平化为 Parcel。

参数
dest Parcel:此值不能为 null

flags int:关于如何写入对象的其他标记。可为 0 或 Parcelable.PARCELABLE_WRITE_RETURN_VALUE。值为 0Parcelable.PARCELABLE_WRITE_RETURN_VALUE 和 android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES 的组合