沙盒化 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)

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

继承的方法

字段

CREATOR

API 级别 34 中添加
也在广告服务扩展 4 中添加
public static final Creator<SandboxedSdk> CREATOR

公共构造函数

沙盒化 SDK

API 级别 34 中添加
也在广告服务扩展 4 中添加
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 对象实例所编排的特殊对象类型集。 值为 0CONTENTS_FILE_DESCRIPTOR

getInterface

API 级别 34 中添加
也在广告服务扩展 4 中添加
public IBinder getInterface ()

返回为响应 SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver) 而加载的 SDK 的接口。如果 Binder 不再可用,系统就会返回 null 接口,以响应 SDK 被卸载。

开球回攻次数
IBinder

获取共享库信息

API 级别 34 中添加
也在广告服务扩展 5 中添加
public SharedLibraryInfo getSharedLibraryInfo ()

返回 SDK 的 SharedLibraryInfo

开球回攻次数
SharedLibraryInfo 此值不能为 null

抛出
IllegalStateException 如果系统服务尚未将 SharedLibraryInfo 附加到 SDK 发送的 SandboxedSdk 对象,则会发生该异常。

writeToParcel

API 级别 34 中引入
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 的组合