ผู้จัดการแซนด์บ็อกซ์ SdkSandbox
  public
  
  final
  
  class
  SdkSandboxManager
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.app.sdksandbox.SdkSandboxManager | 
มี API ที่จะโหลด SDKs ลงใน
 แซนด์บ็อกซ์ของ SDK แล้วโต้ตอบกับ SDK
 
แซนด์บ็อกซ์ SDK เป็นกระบวนการ Java ที่ทำงานในช่วง UID ที่แยกต่างหาก แต่ละแอปอาจมี SDK ของตัวเอง ของกระบวนการแซนด์บ็อกซ์
แอปต้องประกาศ SDK ที่จำเป็นต้องใช้ในไฟล์ Manifest ก่อนโดยใช้แท็ก <uses-sdk-library> แอปอาจโหลดเฉพาะ SDK ที่แอปต้องใช้ในแซนด์บ็อกซ์ของ SDK เท่านั้น
สรุป
| ชั้นเรียนที่ซ้อนกัน | |
|---|---|
| 
        
        
        
        
        interface | SdkSandboxManager.SdkSandboxProcessDeathCallbackการเรียกกลับสำหรับการติดตามเหตุการณ์การเสียชีวิตแซนด์บ็อกซ์ของ SDK | 
| วิธีการสาธารณะ | |
|---|---|
| 
        
        
        
        
        
        void | 
      addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
      เพิ่ม Callback ที่ลงทะเบียนสำหรับเหตุการณ์ในวงจรของแซนด์บ็อกซ์ SDK เช่น แซนด์บ็อกซ์ของ SDK การเสียชีวิต | 
| 
        
        
        
        
        
        void | 
      addSyncedSharedPreferencesKeys(Set<String> keys)
      เพิ่มคีย์ในชุดคีย์ที่ซิงค์จาก  | 
| 
        
        
        
        
        
        List<AppOwnedSdkSandboxInterface> | 
      getAppOwnedSdkSandboxInterfaces()
      ดึงข้อมูลรายการ  | 
| 
        
        
        
        
        
        List<SandboxedSdk> | 
      getSandboxedSdks()
      ดึงข้อมูลเกี่ยวกับ SDK ที่โหลดในแซนด์บ็อกซ์ | 
| 
        
        
        static
        
        
        int | 
      getSdkSandboxState()
      แสดงสถานะปัจจุบันของความพร้อมใช้งานฟีเจอร์แซนด์บ็อกซ์ SDK | 
| 
        
        
        
        
        
        Set<String> | 
      getSyncedSharedPreferencesKeys()
      แสดงคีย์ชุดที่ซิงค์จาก  | 
| 
        
        
        
        
        
        void | 
      loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
      โหลด SDK ในกระบวนการ Java แซนด์บ็อกซ์ SDK | 
| 
        
        
        
        
        
        void | 
      registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
      ลงทะเบียน  | 
| 
        
        
        
        
        
        void | 
      removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
      นำ  | 
| 
        
        
        
        
        
        void | 
      removeSyncedSharedPreferencesKeys(Set<String> keys)
      นำคีย์ออกจากชุดคีย์ที่เพิ่มโดยใช้  ระบบจะลบคีย์ที่นำออกออกจากแซนด์บ็อกซ์ SDK หากมีการซิงค์คีย์ดังกล่าวอยู่แล้ว | 
| 
        
        
        
        
        
        void | 
      requestSurfacePackage(String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
      ส่งคำขอแพ็กเกจแพลตฟอร์มไปยัง SDK | 
| 
        
        
        
        
        
        void | 
      startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)
      เริ่ม  | 
| 
        
        
        
        
        
        void | 
      unloadSdk(String sdkName)
      ยกเลิกการโหลด SDK ที่เคยโหลดโดยผู้โทรก่อนหน้านี้ | 
| 
        
        
        
        
        
        void | 
      unregisterAppOwnedSdkSandboxInterface(String name)
      ยกเลิกการลงทะเบียน  | 
| วิธีการที่รับมา | |
|---|---|
ค่าคงที่
EXTRA_DISPLAY_ID
public static final String EXTRA_DISPLAY_ID
ชื่อของคีย์ที่จะใช้ในช่อง Bundle ของ requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ค่าของคีย์ควรกำหนดรหัสจำนวนเต็มของตรรกะ
 เพื่อแสดง SurfacePackage
มูลค่าคงที่: "android.app.sdksandbox.extra.DISPLAY_ID"
EXTRA_HEIGHT_IN_PIXELS
public static final String EXTRA_HEIGHT_IN_PIXELS
ชื่อของคีย์ที่จะใช้ในช่อง Bundle ของ requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ค่าของคีย์ควรกำหนดความสูงที่เป็นจำนวนเต็มของ SurfacePackage ในหน่วยพิกเซล
มูลค่าคงที่: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"
โทเค็นภายนอก
public static final String EXTRA_HOST_TOKEN
ชื่อของคีย์ที่จะใช้ในช่อง Bundle ของ requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ค่าของคีย์ควรแสดงโทเค็นที่ SurfaceView.getHostToken() แสดงผลเมื่อ SurfaceView ได้รับการ
 ในลำดับชั้นการแสดงผล ระบบยอมรับเฉพาะค่าที่ไม่ใช่ Null ในการเปิดใช้การรายงาน ANR
มูลค่าคงที่: "android.app.sdksandbox.extra.HOST_TOKEN"
แพ็กเกจเสริมพื้นผิว
public static final String EXTRA_SURFACE_PACKAGE
ชื่อของคีย์ใน Bundle ที่ส่งไปยังฟังก์ชัน onResult ของ OutcomeReceiver ซึ่งเป็นช่องของ requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ค่าของคีย์จะแสดง SurfacePackage ที่ขอ
มูลค่าคงที่: "android.app.sdksandbox.extra.SURFACE_PACKAGE"
EXTRA_WIDTH_IN_PIXELS
public static final String EXTRA_WIDTH_IN_PIXELS
ชื่อของคีย์ที่จะใช้ในช่อง Bundle ของ requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) ค่าของคีย์ควรกำหนดความกว้างที่เป็นจำนวนเต็มของ SurfacePackage ในหน่วยพิกเซล
มูลค่าคงที่: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"
LOAD_SDK_ALREADY_LOADED
public static final int LOAD_SDK_ALREADY_LOADED
โหลด SDK แล้ว
ซึ่งเป็นการระบุว่าแอปพลิเคชันไคลเอ็นต์พยายามโหลด SDK เดียวกันซ้ำโดยเรียกใช้ loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) หลังจาก
 โหลดสำเร็จแล้ว
มูลค่าคงที่: 101 (0x00000065)
ข้อผิดพลาด LOAD_SDK_INTERNAL_ERROR
public static final int LOAD_SDK_INTERNAL_ERROR
เกิดข้อผิดพลาดภายในขณะโหลด SDK
ข้อผิดพลาดนี้บ่งบอกว่าเกิดข้อผิดพลาดภายในทั่วไปขณะใช้การเรียกจากไคลเอ็นต์ แอปพลิเคชัน
มูลค่าคงที่: 500 คน (0x000001f4)
LOAD_SDK_NOT_FOUND
public static final int LOAD_SDK_NOT_FOUND
ไม่พบ SDK
ซึ่งหมายความว่าแอปพลิเคชันไคลเอ็นต์พยายามโหลด SDK ที่ไม่มีอยู่โดยการเรียกใช้ loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
มูลค่าคงที่: 100 คน (0x00000064)
LOAD_SDK_SDK_DEFINED_ERROR
public static final int LOAD_SDK_SDK_DEFINED_ERROR
เกิดข้อผิดพลาดเกี่ยวกับ SDK หลังจากโหลด
ซึ่งหมายความว่า SDK พบข้อผิดพลาดระหว่างการเริ่มต้นหลังการโหลด 
 รายละเอียดของข้อมูลนี้ได้มาจาก Bundle ที่ส่งคืนใน LoadSdkException จนถึง
 OutcomeReceiver ส่งผ่านไปยัง SdkSandboxManager#loadSdk
มูลค่าคงที่: 102 (0x00000066)
LOAD_SDK_SDK_SANDBOX_DISABLED
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED
ปิดใช้แซนด์บ็อกซ์ SDK อยู่
ซึ่งเป็นการระบุว่าแซนด์บ็อกซ์ SDK ปิดใช้อยู่ ความพยายามโหลด SDK ในครั้งต่อๆ ไป การเปิดเครื่องนี้จะล้มเหลวด้วย
มูลค่าคงที่: 103 (0x00000067)
REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
เกิดข้อผิดพลาดภายในขณะขอ SurfacePackage
 
ข้อความนี้บ่งบอกว่าเกิดข้อผิดพลาดภายในทั่วไปขณะส่งคำขอ
 SurfacePackage
มูลค่าคงที่: 700 (0x000002bc)
REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
SDK ไม่ได้โหลดขณะขอ SurfacePackage
 
ซึ่งหมายความว่า SDK ที่มีการขอ SurfacePackage นั้นไม่ใช่
 โหลดเนื่องจากแซนด์บ็อกซ์ไม่ทำงานหรือไม่ได้โหลดตั้งแต่แรก
มูลค่าคงที่: 701 (0x000002bd)
SDK_SANDBOX_PROCESS_NOT_available
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE
ขั้นตอนแซนด์บ็อกซ์ของ SDK ไม่พร้อมใช้งาน
ซึ่งเป็นการระบุว่ากระบวนการแซนด์บ็อกซ์ SDK ไม่พร้อมใช้งานเนื่องจากได้สิ้นสุดลงแล้ว ไม่มีการเชื่อมต่อ หรือไม่ได้สร้างขึ้นตั้งแต่แรก
มูลค่าคงที่: 503 (0x000001f7)
SDK_SANDBOX_SERVICE
public static final String SDK_SANDBOX_SERVICE
ใช้กับ Context#getSystemService(String) เพื่อเรียกข้อมูล SdkSandboxManager
 สำหรับการโต้ตอบกับ SDK ที่เป็นของแอปพลิเคชันไคลเอ็นต์นี้
มูลค่าคงที่: "sdk_sandbox"
สถานะปิดใช้ SDK_SANDBOX
public static final int SDK_SANDBOX_STATE_DISABLED
ปิดใช้แซนด์บ็อกซ์ SDK อยู่
มี SdkSandboxManager API ซ่อนอยู่ การพยายามโทรหาหมายเลขดังกล่าวจะส่งผลให้UnsupportedOperationException
มูลค่าคงที่: 0 ครั้ง (0x00000000)
SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION
public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION
เปิดใช้แซนด์บ็อกซ์ SDK แล้ว
แอปสามารถใช้ API ของ SdkSandboxManager เพื่อโหลด SDKs ซึ่งขึ้นอยู่กับ
 กระบวนการแซนด์บ็อกซ์ของ SDK ที่เกี่ยวข้อง
มูลค่าคงที่: 2 ครั้ง (0x00000002)
วิธีการสาธารณะ
addSdkSandboxProcessDeathCallback
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
เพิ่ม Callback ที่ลงทะเบียนสำหรับเหตุการณ์ในวงจรของแซนด์บ็อกซ์ SDK เช่น แซนด์บ็อกซ์ของ SDK การเสียชีวิต หากยังไม่มีการสร้างแซนด์บ็อกซ์เมื่อมีการเรียกใช้ คำขอจะ ไว้จนกว่าจะมีการสร้างแซนด์บ็อกซ์ โดยจะเปิดใช้งานสำหรับแซนด์บ็อกซ์นั้น ณ จุดนั้น หลายสกุลเงิน สามารถเพิ่มการเรียกกลับเพื่อตรวจหาการเสียชีวิตได้ และจะไม่ถูกลบเมื่อแซนด์บ็อกซ์ตาย
| พารามิเตอร์ | |
|---|---|
| callbackExecutor | Executor:Executorที่จะเรียกใช้ Callback
 ค่านี้ต้องไม่เป็นnullระบบจะส่งเหตุการณ์ Callback และ Listener ผ่านสิ่งนี้Executorมอบวิธีง่ายๆ ในการควบคุมชุดข้อความที่
  ในการส่งกิจกรรมผ่านชุดข้อความหลักของ
 คุณสามารถใช้Context.getMainExecutor()หรือระบุExecutorที่ส่งไปยังชุดข้อความที่เหมาะสม | 
| callback | SdkSandboxManager.SdkSandboxProcessDeathCallback:SdkSandboxProcessDeathCallbackซึ่งจะได้รับแซนด์บ็อกซ์ SDK
     ในวงจร
 
 ค่านี้ต้องไม่เป็นnull | 
addSyncedSharedPreferencesKeys
public void addSyncedSharedPreferencesKeys (Set<String> keys)
เพิ่มคีย์ในชุดคีย์ที่ซิงค์จาก SharedPreferences เริ่มต้นของแอปไปยัง SDK
 แซนด์บ็อกซ์
 
ข้อมูลที่ซิงค์จะพร้อมให้ SDK อ่านโดยใช้ SdkSandboxController.getClientSharedPreferences() API
 
หากต้องการหยุดซิงค์คีย์ใดก็ตามที่เพิ่มโดยใช้ API นี้ ให้ใช้ removeSyncedSharedPreferencesKeys(java.util.Set)
 
การซิงค์จะหยุดทำงานหากแอปรีสตาร์ทและผู้ใช้ต้องเรียกใช้ API นี้อีกครั้งเพื่อสร้างพูลใหม่ สำหรับการซิงค์
หมายเหตุ: คลาสนี้ไม่รองรับการใช้งานในหลายกระบวนการ
| พารามิเตอร์ | |
|---|---|
| keys | Set: ชุดคีย์ที่จะซิงค์กับแซนด์บ็อกซ์
 
 ค่านี้ต้องไม่เป็นnull | 
อินเทอร์เฟซ getAppเป็นเจ้าของโดเมนSdkSandbox
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
ดึงข้อมูลรายการ AppOwnedSdkSandboxInterface ที่ลงทะเบียนสำหรับแอป
| คิกรีเทิร์น | |
|---|---|
| List<AppOwnedSdkSandboxInterface> | รายการว่างเปล่าหากไม่พบข้อมูล callInfo ในแผนที่ หรือระบุรายการ AppOwnedSdkSandboxInterfaceค่านี้ต้องไม่เป็นnull | 
getSandboxedSdks
public List<SandboxedSdk> getSandboxedSdks ()
ดึงข้อมูลเกี่ยวกับ SDK ที่โหลดในแซนด์บ็อกซ์
| คิกรีเทิร์น | |
|---|---|
| List<SandboxedSdk> | รายการ SandboxedSdkที่มี SDK ทั้งหมดที่โหลดในปัจจุบัน
 
 ค่านี้ต้องไม่เป็นnull | 
getSdkSandboxState
public static int getSdkSandboxState ()
แสดงสถานะปัจจุบันของความพร้อมใช้งานฟีเจอร์แซนด์บ็อกซ์ SDK
| คิกรีเทิร์น | |
|---|---|
| int | ค่าคือ SDK_SANDBOX_STATE_DISABLEDหรือSDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION | 
getSyncedSharedPreferencesKeys
public Set<String> getSyncedSharedPreferencesKeys ()
แสดงคีย์ชุดที่ซิงค์จาก SharedPreferences เริ่มต้นของแอปไปยัง
 แซนด์บ็อกซ์ SDK
| คิกรีเทิร์น | |
|---|---|
| Set<String> | ค่านี้ต้องไม่เป็น null | 
loadSdk
public void loadSdk (String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
โหลด SDK ในกระบวนการ Java แซนด์บ็อกซ์ SDK
โหลดไลบรารี SDK ด้วย sdkName ไปยังกระบวนการแซนด์บ็อกซ์ SDK แบบไม่พร้อมกัน 
 ผู้โทรจะได้รับการแจ้งเตือนผ่าน receiver
 
ผู้โทรควรประกาศ SDKs อยู่แล้วว่าจะขึ้นอยู่กับในไฟล์ Manifest โดยใช้แท็ก <uses-sdk-library> ผู้โทรอาจโหลดเฉพาะ SDKs เท่านั้นโดยขึ้นอยู่กับ SDK
 แซนด์บ็อกซ์
 
เมื่อแอปพลิเคชันไคลเอ็นต์โหลด SDK แรก กระบวนการแซนด์บ็อกซ์ SDK ใหม่จะ สร้าง แล้ว ถ้ามีการสร้างแซนด์บ็อกซ์สำหรับแอปพลิเคชันไคลเอ็นต์แล้ว SDK เพิ่มเติม จะถูกโหลดลงในแซนด์บ็อกซ์เดียวกัน
สามารถเรียก API นี้ได้ในขณะที่ผู้โทรทำงานอยู่ในเบื้องหน้าเท่านั้น สายจาก
 พื้นหลังจะส่งผลให้แสดงผล LoadSdkException ใน receiver
| พารามิเตอร์ | |
|---|---|
| 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 | 
RegisterAppOwnerSdkSandboxInterface
public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
ลงทะเบียน AppOwnedSdkSandboxInterface สำหรับกระบวนการของแอป
 
การจดทะเบียน AppOwnedSdkSandboxInterface ที่มีชื่อเดียวกันกับก่อนหน้านี้
 ของอินเทอร์เฟซที่ลงทะเบียนแล้วจะแสดงผลเป็น IllegalStateException
 
AppOwnedSdkSandboxInterface#getName() หมายถึงชื่อของอินเทอร์เฟซ
| พารามิเตอร์ | |
|---|---|
| appOwnedSdkSandboxInterface | AppOwnedSdkSandboxInterface: AppownerSdkSandboxInterface ที่จะจดทะเบียน
 
 ค่านี้ต้องไม่เป็นnull | 
removeSdkSandboxProcessDeathCallback
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
นำ SdkSandboxProcessDeathCallback ที่เพิ่มไว้ก่อนหน้านี้โดยใช้ addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback) ออก
| พารามิเตอร์ | |
|---|---|
| callback | SdkSandboxManager.SdkSandboxProcessDeathCallback:SdkSandboxProcessDeathCallbackที่ก่อนหน้านี้เพิ่มโดยใช้SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor,
     SdkSandboxProcessDeathCallback)ค่านี้ต้องไม่เป็นnull | 
removeSyncedSharedPreferencesKeys
public void removeSyncedSharedPreferencesKeys (Set<String> keys)
นำคีย์ออกจากชุดคีย์ที่เพิ่มโดยใช้ addSyncedSharedPreferencesKeys(java.util.Set)
 
ระบบจะลบคีย์ที่นำออกออกจากแซนด์บ็อกซ์ SDK หากมีการซิงค์คีย์ดังกล่าวอยู่แล้ว
| พารามิเตอร์ | |
|---|---|
| keys | Set: ชุดของชื่อคีย์ที่ไม่ควรซิงค์กับแซนด์บ็อกซ์อีกต่อไป
 
 ค่านี้ต้องไม่เป็นnull | 
แพ็กเกจ requestSurface
public void requestSurfacePackage (String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
ส่งคำขอแพ็กเกจแพลตฟอร์มไปยัง SDK
หลังจากที่แอปพลิเคชันไคลเอ็นต์ได้รับสัญญาณเกี่ยวกับการโหลด SDK ที่สำเร็จ และ
 เพิ่ม SurfaceView ลงในลำดับชั้นการแสดงผลแล้ว ระบบอาจส่งคำขอแบบอะซิงโครนัส
 SurfacePackage เพื่อแสดงผลมุมมองจาก SDK
 
เมื่อ SurfacePackage พร้อมใช้งาน การติดต่อกลับ OutcomeReceiver#onResult ของ
 receiver ที่ผ่านแล้วจะถูกเรียก การเรียกกลับนี้จะมี Bundle
 ซึ่งจะมีคีย์ SdkSandboxManager#EXTRA_SURFACE_PACKAGE ที่
 ค่าที่เชื่อมโยงคือ SurfacePackage ที่ขอ
 
params ที่ส่งผ่านต้องมีคีย์ต่อไปนี้: EXTRA_WIDTH_IN_PIXELS, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS,
 SdkSandboxManager#EXTRA_DISPLAY_ID และ SdkSandboxManager#EXTRA_HOST_TOKEN ถ้า
 คีย์ใดคีย์หนึ่งหายไปหรือไม่ถูกต้อง จะมีการทิ้ง IllegalArgumentException
 
สามารถเรียก API นี้ได้ในขณะที่ผู้โทรทำงานอยู่ในเบื้องหน้าเท่านั้น สายจาก
 จะทำให้ระบบแสดงผล RequestSurfacePackageException ใน receiver
| พารามิเตอร์ | |
|---|---|
| sdkName | String: ชื่อของ SDK ที่โหลดลงในแซนด์บ็อกซ์ SDK
 ค่านี้ต้องไม่เป็นnull | 
| params | Bundle: พารามิเตอร์ที่แอปพลิเคชันไคลเอ็นต์ส่งไปยัง SDK
 ค่านี้ต้องไม่เป็นnull | 
| callbackExecutor | Executor:Executorที่จะเรียกใช้ Callback
 ค่านี้ต้องไม่เป็นnullระบบจะส่งเหตุการณ์ Callback และ Listener ผ่านสิ่งนี้Executorมอบวิธีง่ายๆ ในการควบคุมชุดข้อความที่
  ในการส่งกิจกรรมผ่านชุดข้อความหลักของ
 คุณสามารถใช้Context.getMainExecutor()หรือระบุExecutorที่ส่งไปยังชุดข้อความที่เหมาะสม | 
| receiver | OutcomeReceiver: ส่งคืนBundleเมื่อสำเร็จ ซึ่งจะมีคีย์SdkSandboxManager#EXTRA_SURFACE_PACKAGEที่มีค่าSurfacePackageหรือRequestSurfacePackageExceptionเมื่อล้มเหลว
 ค่านี้ต้องไม่เป็นnull | 
| การขว้าง | |
|---|---|
| IllegalArgumentException | หาก paramsไม่มีคีย์ที่จำเป็นทั้งหมด | 
startSdkSandboxActivity
public void startSdkSandboxActivity (Activity fromActivity, IBinder sdkActivityToken)
เริ่ม Activity ในแซนด์บ็อกซ์ SDK
 
ฟังก์ชันนี้จะเริ่ม Activity ใหม่ในงานเดียวกันกับ fromActivity ที่ผ่านแล้วส่งไปยัง SDK ที่แชร์ sdkActivityToken ที่ผ่านแล้วซึ่ง
 ระบุคำขอจาก SDK นั้นเพื่อระบุ Activity นี้
 
Activity จะไม่เริ่มต้นในกรณีต่อไปนี้
 
- แอปที่เรียกใช้ API นี้อยู่ในเบื้องหลัง
- sdkActivityTokenที่ผ่านไม่ได้แมปกับคำขอ- Activityสร้าง SDK ที่แชร์กับแอปของผู้โทร
- SDK ที่แชร์ sdkActivityTokenที่ส่งผ่านได้นำคำขอของรายการนี้ออกActivity
- สร้างแซนด์บ็อกซ์ Activityแล้ว
| พารามิเตอร์ | |
|---|---|
| fromActivity | Activity: ระบบจะใช้Activityเพื่อเริ่มแซนด์บ็อกซ์ใหม่Activityโดยเรียกใช้Activity#startActivity(Intent)กับแซนด์บ็อกซ์
 ค่านี้ต้องไม่เป็นnull | 
| sdkActivityToken | IBinder: ตัวระบุที่ SDK แชร์ ซึ่งขอActivityค่านี้ต้องไม่เป็นnull | 
ยกเลิกการโหลด SDK
public void unloadSdk (String sdkName)
ยกเลิกการโหลด SDK ที่เคยโหลดโดยผู้โทรก่อนหน้านี้
เราไม่รับประกันว่าหน่วยความจำที่จัดสรรสำหรับ SDK นี้จะได้รับการปล่อยว่างทันที ทั้งหมด
 การโทรครั้งต่อๆ ไปไปยัง requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
 สำหรับ sdkName ที่ระบุจะล้มเหลว
 
สามารถเรียก API นี้ได้ในขณะที่ผู้โทรทำงานอยู่ในเบื้องหน้าเท่านั้น สายจาก
 พื้นหลังจะทำให้มีการส่ง SecurityException
| พารามิเตอร์ | |
|---|---|
| sdkName | String: ชื่อ SDK ที่จะยกเลิกการโหลด
 
 ค่านี้ต้องไม่เป็นnull | 
ยกเลิกการลงทะเบียนแอปเป็นเจ้าของSdkSandboxInterface
public void unregisterAppOwnedSdkSandboxInterface (String name)
ยกเลิกการลงทะเบียน ERROR(/AppOwnedSdkSandboxInterfaces) สำหรับกระบวนการของแอป
| พารามิเตอร์ | |
|---|---|
| name | String: ชื่อที่ใช้จดทะเบียน AppOWNERSdkSandboxInterface
 
 ค่านี้ต้องไม่เป็นnull | 
