SandboxedSdk

public final class SandboxedSdk
extends Object implements Parcelable

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


แสดง SDK ที่โหลดในกระบวนการแซนด์บ็อกซ์

ส่งคืนเพื่อตอบกลับ SdkSandboxManager#loadSdk สำเร็จแล้ว แอปพลิเคชันสามารถ ขอรับสิทธิ์โดยโทรไปที่ SdkSandboxManager#loadSdk ออบเจ็กต์นี้ควรใช้ออบเจ็กต์นี้เพื่อรับ ของ SDK ผ่าน getInterface()

SDK ควรสร้างเมื่อมีการเรียกใช้ SandboxedSdkProvider#onLoadSdk และทิ้งทั้งหมด อ้างอิงถึงรายการนี้เมื่อมีการเรียก SandboxedSdkProvider#beforeUnloadSdk() นอกจากนี้ SDK ไม่ควรเรียกใช้ IBinder ซึ่งส่งคืนจาก getInterface() หลังจากวันที่ โทรหา SandboxedSdkProvider#beforeUnloadSdk() แล้ว

สรุป

ค่าคงที่ที่รับช่วงมา

ช่อง

public static final Creator<SandboxedSdk> CREATOR

ช่างก่อสร้างสาธารณะ

SandboxedSdk(IBinder sdkInterface)

สร้างออบเจ็กต์ SandboxedSdk

วิธีการสาธารณะ

int describeContents()

อธิบายชนิดของวัตถุพิเศษที่มีอยู่ในพาร์เซลนี้ ของตัวอย่าง

IBinder getInterface()

แสดงอินเทอร์เฟซไปยัง SDK ที่โหลดตาม SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver)

SharedLibraryInfo getSharedLibraryInfo()

แสดง SharedLibraryInfo สำหรับ SDK

void writeToParcel(Parcel dest, int flags)

แยกวัตถุนี้ลงในแปลงที่ดิน

วิธีการที่รับมา

ช่อง

ครีเอเตอร์

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public static final Creator<SandboxedSdk> CREATOR

ช่างก่อสร้างสาธารณะ

SandboxedSdk

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public SandboxedSdk (IBinder sdkInterface)

สร้างออบเจ็กต์ SandboxedSdk

พารามิเตอร์
sdkInterface IBinder: อินเทอร์เฟซของ SDK นี่จะเป็นจุดแรกเข้าของ SDK ที่ทำแซนด์บ็อกซ์ สำหรับแอปพลิเคชัน SDK ควรคงค่านี้ไว้จนกว่าจะโหลดในแซนด์บ็อกซ์ และ เริ่มล้มเหลวในการเรียกใช้อินเทอร์เฟซนี้เมื่อยกเลิกการโหลดแล้ว

คุณจะดึงข้อมูลอินเทอร์เฟซนี้ในภายหลังได้โดยใช้ getInterface() ค่านี้ต้องไม่เป็น null

วิธีการสาธารณะ

อธิบายเนื้อหา

เพิ่มใน API ระดับ 34 แล้ว
public int describeContents ()

อธิบายชนิดของวัตถุพิเศษที่มีอยู่ในพาร์เซลนี้ ของตัวอย่าง ตัวอย่างเช่น หากออบเจ็กต์จะ รวมข้อบ่งชี้ไฟล์ในเอาต์พุตของ writeToParcel(android.os.Parcel, int) ค่าที่แสดงผลของเมธอดนี้ต้องมีฟังก์ชัน CONTENTS_FILE_DESCRIPTOR บิต

คิกรีเทิร์น
int บิตมาสก์ที่ระบุชุดของประเภทออบเจ็กต์พิเศษ Marshaled โดยอินสแตนซ์ออบเจ็กต์ที่แบ่งได้นี้ ค่าเป็น 0 หรือ CONTENTS_FILE_DESCRIPTOR

อินเทอร์เฟซ

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public IBinder getInterface ()

แสดงอินเทอร์เฟซไปยัง SDK ที่โหลดตาม SdkSandboxManager.loadSdk(String, Bundle, Executor, OutcomeReceiver) ระบบจะแสดงผลอินเทอร์เฟซ null หาก Binder มีผลตั้งแต่นั้น ไม่พร้อมใช้งาน เนื่องจาก SDK ไม่โหลดขึ้นมา

คิกรีเทิร์น
IBinder

รับข้อมูลไลบรารีที่ใช้ร่วมกัน

public SharedLibraryInfo getSharedLibraryInfo ()

แสดง SharedLibraryInfo สำหรับ SDK

คิกรีเทิร์น
SharedLibraryInfo ค่านี้ต้องไม่เป็น null

การขว้าง
IllegalStateException หากบริการของระบบยังไม่ได้แนบ SharedLibraryInfo เข้ากับออบเจ็กต์ SandboxedSdk ที่ SDK ส่ง

เขียนถึงพาร์เซล

เพิ่มใน API ระดับ 34 แล้ว
public void writeToParcel (Parcel dest, 
                int flags)

แยกวัตถุนี้ลงในแปลงที่ดิน

พารามิเตอร์
dest Parcel: ค่านี้ต้องไม่เป็น null

flags int: แฟล็กเพิ่มเติมเกี่ยวกับวิธีเขียนออบเจ็กต์ อาจเป็น 0 หรือ Parcelable.PARCELABLE_WRITE_RETURN_VALUE ค่าเป็น 0 หรือชุดค่าผสมของ Parcelable.PARCELABLE_WRITE_RETURN_VALUE และ android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES