SandboxedSdk

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)

将此对象展平为 Parcel。

继承的方法

字段

CREATOR

添加于 API 级别 34
也在 Ad Services Extensions 4 中提供
public static final Creator<SandboxedSdk> CREATOR

公共构造函数

SandboxedSdk

添加于 API 级别 34
也在 Ad Services Extensions 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
也在 Ad Services Extensions 4 中提供
public IBinder getInterface ()

返回响应 SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver) 加载的 SDK 的接口。如果 Binder 已不可用(响应 SDK 卸载),则返回 null 接口。

返回
IBinder

getSharedLibraryInfo

添加于 API 级别 34
也在 Ad Services Extensions 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 的组合