ผู้จัดการแซนด์บ็อกซ์ 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 |