SDK แซนด์บ็อกซ์ตัวควบคุม
public
class
SdkSandboxController
extends Object
java.lang.Object | |
↳ | android.app.sdksandbox.sdkprovider.SdkSandboxController |
ตัวควบคุมที่ใช้โดย SDK ซึ่งโหลดในแซนด์บ็อกซ์เพื่อเข้าถึงข้อมูลที่ SDK ระบุไว้ แซนด์บ็อกซ์
ช่วยให้ SDK สื่อสารกับ SDK อื่นๆ ในแซนด์บ็อกซ์ของ SDK และทราบเกี่ยวกับสถานะได้ SDK ที่โหลดไว้ในนั้น
รับอินสแตนซ์ของ SdkSandboxController
ได้โดยใช้ Context.getSystemService(Class)
และ class
และ Context
ก็สามารถ
จะรับได้โดยใช้ SandboxedSdkProvider.getContext()
สรุป
ค่าคงที่ | |
---|---|
String |
SDK_SANDBOX_CONTROLLER_SERVICE
|
วิธีการสาธารณะ | |
---|---|
List<AppOwnedSdkSandboxInterface>
|
getAppOwnedSdkSandboxInterfaces()
ดึงข้อมูล |
String
|
getClientPackageName()
แสดงผลชื่อแพ็กเกจของแอปไคลเอ็นต์ |
SharedPreferences
|
getClientSharedPreferences()
แสดงผล |
List<SandboxedSdk>
|
getSandboxedSdks()
ดึงข้อมูลเกี่ยวกับ SDK ที่โหลดในแซนด์บ็อกซ์ |
void
|
loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
โหลด SDK ในกระบวนการ Java แซนด์บ็อกซ์ SDK |
IBinder
|
registerSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)
แสดงผลตัวระบุสำหรับ |
void
|
unregisterSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)
ยกเลิกการลงทะเบียน |
วิธีการที่รับมา | |
---|---|
ค่าคงที่
SDK_SANDBOX_ControlLER_SERVICE
public static final String SDK_SANDBOX_CONTROLLER_SERVICE
มูลค่าคงที่: "sdk_sandbox_controller_service"
วิธีการสาธารณะ
อินเทอร์เฟซ getAppเป็นเจ้าของโดเมนSdkSandbox
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
ดึงข้อมูล AppOwnedSdkSandboxInterface
ทั้งหมดที่ลงทะเบียนโดยแอป
คิกรีเทิร์น | |
---|---|
List<AppOwnedSdkSandboxInterface> |
รายชื่อ AppOwnedSdkSandboxInterface ที่มีทั้งหมดที่ลงทะเบียนในปัจจุบัน
AppManagedSdkSandboxInterface
ค่านี้ต้องไม่เป็น null |
การขว้าง | |
---|---|
UnsupportedOperationException |
หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด
บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม |
ชื่อแพ็กเกจ getClient
public String getClientPackageName ()
แสดงผลชื่อแพ็กเกจของแอปไคลเอ็นต์
คิกรีเทิร์น | |
---|---|
String |
ค่านี้ต้องไม่เป็น null |
การขว้าง | |
---|---|
UnsupportedOperationException |
หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด
บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม |
ค่ากำหนด getClientShared
public SharedPreferences getClientSharedPreferences ()
แสดงผล SharedPreferences
ที่มีข้อมูลที่ซิงค์จากแอปไคลเอ็นต์
คีย์ที่ซิงค์โดยแอปไคลเอ็นต์โดยใช้ SdkSandboxManager.addSyncedSharedPreferencesKeys(Set)
จะอยู่ใน SharedPreferences
นี้
ควรอ่าน SharedPreferences
ที่แสดงผลเท่านั้น การเขียนถึง
ที่รองรับ
คิกรีเทิร์น | |
---|---|
SharedPreferences |
SharedPreferences มีข้อมูลที่ซิงค์จากแอปไคลเอ็นต์
ค่านี้ต้องไม่เป็น null |
การขว้าง | |
---|---|
UnsupportedOperationException |
หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด
บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม |
getSandboxedSdks
public List<SandboxedSdk> getSandboxedSdks ()
ดึงข้อมูลเกี่ยวกับ SDK ที่โหลดในแซนด์บ็อกซ์
คิกรีเทิร์น | |
---|---|
List<SandboxedSdk> |
รายการ SandboxedSdk ที่มี SDK ทั้งหมดที่โหลดในปัจจุบัน
ค่านี้ต้องไม่เป็น null |
การขว้าง | |
---|---|
UnsupportedOperationException |
หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด
บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม |
loadSdk
public void loadSdk (String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
โหลด SDK ในกระบวนการ Java แซนด์บ็อกซ์ SDK
โหลดไลบรารี SDK ด้วย sdkName
ไปยังกระบวนการแซนด์บ็อกซ์ SDK แบบไม่พร้อมกัน
ผู้โทรจะได้รับการแจ้งเตือนผ่าน receiver
ผู้โทรอาจโหลดเฉพาะ SDKs
ที่แอปไคลเอ็นต์ใช้ในแซนด์บ็อกซ์ของ SDK เท่านั้น
พารามิเตอร์ | |
---|---|
sdkName |
String : ชื่อของ SDK ที่จะโหลด
ค่านี้ต้องไม่เป็น null |
params |
Bundle : พารามิเตอร์เพิ่มเติมที่จะส่งไปให้ SDK ในรูปแบบ Bundle
ตามที่ตกลงกันระหว่างลูกค้าและ SDK
ค่านี้ต้องไม่เป็น null |
executor |
Executor : Executor ที่จะเรียกใช้ตัวรับ
ค่านี้ต้องไม่เป็น null
ระบบจะส่งเหตุการณ์ Callback และ Listener ผ่านสิ่งนี้
Executor มอบวิธีง่ายๆ ในการควบคุมชุดข้อความที่
ในการส่งกิจกรรมผ่านชุดข้อความหลักของ
คุณสามารถใช้
Context.getMainExecutor()
หรือระบุ Executor ที่ส่งไปยังชุดข้อความที่เหมาะสม |
receiver |
OutcomeReceiver : ตัวเลือกนี้จะได้รับ SandboxedSdk เมื่อเรียกใช้สำเร็จ หรือ LoadSdkException
ค่านี้ต้องไม่เป็น null |
การขว้าง | |
---|---|
UnsupportedOperationException |
หากตัวควบคุมมาจากอุปกรณ์ที่ไม่คาดคิด
บริบท ใช้ SandboxedSdkProvider#getContext() สำหรับบริบทที่เหมาะสม |
RegisterSdkSandboxActivityHandler
public IBinder registerSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
แสดงผลตัวระบุสำหรับ SdkSandboxActivityHandler
หลังจากลงทะเบียน
ฟังก์ชันนี้จะลงทะเบียนการใช้งาน SdkSandboxActivityHandler
ที่สร้างโดย
SDK และแสดงผล IBinder
ซึ่งระบุออบเจ็กต์ SdkSandboxActivityHandler
ที่ส่งผ่านโดยไม่ซ้ำกัน
หากมีการลงทะเบียน SdkSandboxActivityHandler
เดียวกันหลายครั้งโดยไม่มี
กำลังยกเลิกการลงทะเบียน ระบบจะแสดงผลโทเค็น IBinder
เดียวกัน
พารามิเตอร์ | |
---|---|
sdkSandboxActivityHandler |
SdkSandboxActivityHandler : เป็นSdkSandboxActivityHandler ที่ใช้ลงทะเบียน
ค่านี้ต้องไม่เป็น null |
คิกรีเทิร์น | |
---|---|
IBinder |
IBinder จะระบุ SdkSandboxActivityHandler ที่ผ่านการตรวจสอบโดยไม่ซ้ำกัน
ค่านี้ต้องไม่เป็น null |
unregisterSdkSandboxActivityHandler
public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
ยกเลิกการลงทะเบียน SdkSandboxActivityHandler
ที่ลงทะเบียนไว้แล้ว
หากลงทะเบียน SdkSandboxActivityHandler
ที่ผ่านแล้ว ระบบจะยกเลิกการลงทะเบียนนั้น
มิเช่นนั้น จะไม่ดำเนินการใดๆ
หลังจากยกเลิกการลงทะเบียนแล้ว SDK สามารถลงทะเบียนออบเจ็กต์ของตัวแฮนเดิลเดิมอีกครั้ง หรือสร้างออบเจ็กต์ใหม่ใน
ต้องการ Activity
ใหม่
หากโทเค็น IBinder
ของเครื่องจัดการที่ไม่ได้ลงทะเบียนใช้ในการเริ่มต้น Activity
Activity
จะไม่สามารถเริ่มต้นได้
พารามิเตอร์ | |
---|---|
sdkSandboxActivityHandler |
SdkSandboxActivityHandler : เป็นSdkSandboxActivityHandler ที่จะยกเลิกการลงทะเบียน
ค่านี้ต้องไม่เป็น null |
คิกรีเทิร์น | |
---|---|
void |
ค่านี้ต้องไม่เป็น null |