沙盒化 SDK

public final class SandboxedSdk
extends Object implements Parcelable

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


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

如果成功,则返回 SdkSandboxManager#loadSdk。应用可通过调用 SdkSandboxManager#loadSdk 获取该标识符。它应该使用此对象通过 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)

将此对象展平为一个地块。

继承的方法

字段

公共构造函数

沙盒化 SDK

public SandboxedSdk (IBinder sdkInterface)

创建一个 SandboxedSdk 对象。

参数
sdkInterface IBinder: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

获取共享库信息

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 的组合