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 |
void
|
beforeUnloadSdk()
SDK จำเป็นต้องทำให้ทรัพยากรว่างก่อนที่จะยกเลิกการโหลดหรือไม่ |
final
Context
|
getContext()
แสดงผล |
abstract
View
|
getView(Context windowContext, Bundle params, int width, int height)
ส่งคำขอให้แสดงผลกระบวนการของแอปไคลเอ็นต์จากระยะไกล |
abstract
SandboxedSdk
|
onLoadSdk(Bundle params)
งานที่จำเป็นเพื่อให้ SDK เริ่มจัดการคำขอหรือไม่ |
วิธีการที่รับมา | |
---|---|
ช่างก่อสร้างสาธารณะ
วิธีการสาธารณะ
แนบบริบท
public final void attachContext (Context context)
ตั้งค่า SDK Context
ซึ่งรับได้โดยใช้ getContext()
มีการเรียกใช้ก่อนที่ onLoadSdk(Bundle)
จะเรียกใช้ ไม่มีการดำเนินการที่ต้องใช้ Context
จะดำเนินการก่อนเวลาดังกล่าว เนื่องจาก SandboxedSdkProvider#getContext
จะแสดงผลค่าว่างจนถึง
มีการเรียกใช้เมธอดนี้แล้ว
แสดง IllegalStateException หากตั้งค่าบริบทพื้นฐานแล้ว
พารามิเตอร์ | |
---|---|
context |
Context : บริบทฐานใหม่
ค่านี้ต้องไม่เป็น null |
beforeUnloadSdk (ก่อนยกเลิกการโหลด SDK)
public void beforeUnloadSdk ()
SDK จำเป็นต้องทำให้ทรัพยากรว่างก่อนที่จะยกเลิกการโหลดหรือไม่
เครื่องมือจัดการแซนด์บ็อกซ์ SDK เรียกใช้ฟังก์ชันนี้ก่อนที่จะยกเลิกการโหลด SDK SDK
ควรล้มเหลวในการเรียกใช้บน Binder ที่ส่งกลับไปยังไคลเอ็นต์ก่อนหน้านี้ผ่านทาง SandboxedSdk.getInterface()
SDK ไม่ควรทำงานที่ใช้เวลานานที่นี่ เช่น I/O และการเรียกใช้เครือข่าย
getContext
public final Context getContext ()
แสดงผล Context
ที่ตั้งค่าไว้ก่อนหน้านี้ผ่าน SandboxedSdkProvider#attachContext
การดำเนินการนี้จะแสดงผลเป็น Null หากไม่ได้ตั้งค่าบริบทไว้ก่อนหน้านี้
คิกรีเทิร์น | |
---|---|
Context |
getView
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
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 |