SandboxedSdkProvider

public abstract class SandboxedSdkProvider
extends Object

java.lang.Object
android.app.sdksandbox.SandboxedSdkProvider


ห่อหุ้ม API ที่แซนด์บ็อกซ์ SDK สามารถใช้เพื่อโต้ตอบกับ SDK ที่โหลดลงไป

SDK ต้องใช้คลาสนามธรรมนี้เพื่อสร้างจุดแรกเข้าเพื่อให้แซนด์บ็อกซ์ SDK สามารถ เพื่อเรียกผ่าน

สรุป

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

SandboxedSdkProvider()

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

final void attachContext(Context context)

ตั้งค่า SDK Context ซึ่งรับได้โดยใช้ getContext()

void beforeUnloadSdk()

SDK จำเป็นต้องทำให้ทรัพยากรว่างก่อนที่จะยกเลิกการโหลดหรือไม่

final Context getContext()

แสดงผล Context ที่ตั้งค่าไว้ก่อนหน้านี้ผ่าน SandboxedSdkProvider#attachContext

abstract View getView(Context windowContext, Bundle params, int width, int height)

ส่งคำขอให้แสดงผลกระบวนการของแอปไคลเอ็นต์จากระยะไกล

abstract SandboxedSdk onLoadSdk(Bundle params)

งานที่จำเป็นเพื่อให้ SDK เริ่มจัดการคำขอหรือไม่

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

Object clone()

สร้างและแสดงผลสำเนาของออบเจ็กต์นี้

boolean equals(Object obj)

ระบุว่าออบเจ็กต์อื่นบางรายการเป็น "เท่ากับ" หรือไม่ อันนี้

void finalize()

เรียกใช้โดยผู้เก็บขยะในออบเจ็กต์เมื่อเก็บรวบรวมขยะ ทำให้ทราบว่าไม่มีการอ้างอิงไปยังออบเจ็กต์นั้นแล้ว

final Class<?> getClass()

แสดงผลคลาสรันไทม์ของ Object นี้

int hashCode()

แสดงผลค่ารหัสแฮชสำหรับออบเจ็กต์

final void notify()

สร้างชุดข้อความเดียวที่รออยู่ในออบเจ็กต์นี้ จอภาพ

final void notifyAll()

ปลุกชุดข้อความทั้งหมดที่รออยู่บนจอภาพของออบเจ็กต์นี้

String toString()

แสดงผลตัวแทนสตริงของออบเจ็กต์

final void wait(long timeoutMillis, int nanos)

ทำให้เทรดปัจจุบันต้องรอจนกว่าจะมีการปลุก ซึ่งโดยปกติแล้ว ด้วยการแจ้งหรือรบกวน หรือจนกว่า เวลาแบบเรียลไทม์ผ่านไปแล้ว

final void wait(long timeoutMillis)

ทำให้เทรดปัจจุบันต้องรอจนกว่าจะมีการปลุก ซึ่งโดยปกติแล้ว ด้วยการแจ้งหรือรบกวน หรือจนกว่า เวลาแบบเรียลไทม์ผ่านไปแล้ว

final void wait()

ทำให้เทรดปัจจุบันต้องรอจนกว่าจะมีการปลุก ซึ่งโดยปกติแล้ว ด้วยการแจ้งหรือรบกวน

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

SandboxedSdkProvider

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

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

แนบบริบท

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

ตั้งค่า SDK Context ซึ่งรับได้โดยใช้ getContext() มีการเรียกใช้ก่อนที่ onLoadSdk(Bundle) จะเรียกใช้ ไม่มีการดำเนินการที่ต้องใช้ Context จะดำเนินการก่อนเวลาดังกล่าว เนื่องจาก SandboxedSdkProvider#getContext จะแสดงผลค่าว่างจนถึง มีการเรียกใช้เมธอดนี้แล้ว

แสดง IllegalStateException หากตั้งค่าบริบทพื้นฐานแล้ว

พารามิเตอร์
context Context: บริบทฐานใหม่ ค่านี้ต้องไม่เป็น null

beforeUnloadSdk (ก่อนยกเลิกการโหลด SDK)

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

SDK จำเป็นต้องทำให้ทรัพยากรว่างก่อนที่จะยกเลิกการโหลดหรือไม่

เครื่องมือจัดการแซนด์บ็อกซ์ SDK เรียกใช้ฟังก์ชันนี้ก่อนที่จะยกเลิกการโหลด SDK SDK ควรล้มเหลวในการเรียกใช้บน Binder ที่ส่งกลับไปยังไคลเอ็นต์ก่อนหน้านี้ผ่านทาง SandboxedSdk.getInterface()

SDK ไม่ควรทำงานที่ใช้เวลานานที่นี่ เช่น I/O และการเรียกใช้เครือข่าย

getContext

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

แสดงผล Context ที่ตั้งค่าไว้ก่อนหน้านี้ผ่าน SandboxedSdkProvider#attachContext การดำเนินการนี้จะแสดงผลเป็น Null หากไม่ได้ตั้งค่าบริบทไว้ก่อนหน้านี้

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

getView

เพิ่มใน API ระดับ 34
ยังมีในส่วนขยายโฆษณา 4 ด้วย
public abstract View getView (Context windowContext, 
                Bundle params, 
                int width, 
                int height)

ส่งคำขอให้แสดงผลกระบวนการของแอปไคลเอ็นต์จากระยะไกล

การคืนสินค้า View จะรวมอยู่ใน SurfacePackage ระบบจะส่ง SurfacePackage ที่ได้กลับไปยังแอปพลิเคชันไคลเอ็นต์

SDK ไม่ควรทำงานที่ใช้เวลานานที่นี่ เช่น I/O และการเรียกใช้เครือข่าย ดังนั้น สามารถป้องกันไม่ให้ SDK ได้รับคำขอจากไคลเอ็นต์

พารามิเตอร์
windowContext Context: Context ของจอแสดงผลซึ่งมีไว้เพื่อแสดงมุมมอง ค่านี้ต้องไม่เป็น null

params Bundle: รายการพารามิเตอร์ที่ส่งผ่านจากแอปพลิเคชันไคลเอ็นต์ที่ขอมุมมอง ค่านี้ต้องไม่เป็น null

width int: มุมมองที่แสดงผลจะวางราวกับว่าอยู่ในหน้าต่างที่มีความกว้างนี้ มีหน่วยเป็นพิกเซล

height int: มุมมองที่แสดงผลจะวางราวกับว่าอยู่ในหน้าต่างที่มีความสูงนี้ มีหน่วยเป็นพิกเซล

คิกรีเทิร์น
View View ซึ่งจะส่งแซนด์บ็อกซ์ SDK ไปยังแอปพลิเคชันไคลเอ็นต์เพื่อขอมุมมอง ค่านี้ต้องไม่เป็น null

onLoadSdk

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

งานที่จำเป็นเพื่อให้ SDK เริ่มจัดการคำขอหรือไม่

แซนด์บ็อกซ์ SDK เรียกใช้ฟังก์ชันนี้หลังจากโหลด SDK

SDK ควรทำทุกอย่างเพื่อเตรียมพร้อมจัดการคำขอที่กำลังจะเกิดขึ้น ไม่ควรส่งผลใดๆ งานที่ใช้เวลานาน เช่น I/O และการเรียกใช้เครือข่าย การทำเช่นนี้จะป้องกันไม่ให้ SDK ได้รับคำขอจากไคลเอ็นต์ นอกจากนี้ ยังไม่ควรเริ่มต้น ขึ้นอยู่กับ SDK อื่นๆ ที่โหลดลงในแซนด์บ็อกซ์ของ SDK

SDK ไม่ควรดำเนินการใดๆ ที่ต้องใช้ออบเจ็กต์ Context ก่อนวิธีการนี้ ถูกเรียกแล้ว

พารามิเตอร์
params Bundle: รายการพารามิเตอร์ที่ส่งผ่านจากไคลเอ็นต์เมื่อโหลด SDK เว้นว่างไว้ได้ ค่านี้ต้องไม่เป็น null

คิกรีเทิร์น
SandboxedSdk แสดงผล SandboxedSdk ซึ่งส่งคืนไปยังไคลเอ็นต์ IBinder ที่ใช้สร้าง ไคลเอ็นต์จะใช้ออบเจ็กต์ SandboxedSdk เพื่อเรียกเข้าสู่ SDK ค่านี้ต้องไม่เป็น null

การขว้าง
LoadSdkException