SdkSandboxController
  public
  
  
  
  class
  SdkSandboxController
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.app.sdksandbox.sdkprovider.SdkSandboxController | 
沙箱中載入的 SDK 所使用的控制器,可存取 SDK 提供的資訊 沙箱。
可讓 SDK 與 SDK 沙箱中的其他 SDK 通訊,並瞭解狀態 以及目前載入的 SDK 版本
您可以使用 Context.getSystemService(Class) 和 class 取得 SdkSandboxController 的執行個體。Context可以轉回
 可透過 SandboxedSdkProvider.getContext() 取得
摘要
| 常數 | |
|---|---|
| String | SDK_SANDBOX_CONTROLLER_SERVICE
 | 
| 公用方法 | |
|---|---|
| 
        
        
        
        
        
        List<AppOwnedSdkSandboxInterface> | 
      getAppOwnedSdkSandboxInterfaces()
      擷取應用程式註冊的所有  | 
| 
        
        
        
        
        
        String | 
      getClientPackageName()
      傳回用戶端應用程式的套件名稱。 | 
| 
        
        
        
        
        
        SharedPreferences | 
      getClientSharedPreferences()
      傳回  | 
| 
        
        
        
        
        
        List<SandboxedSdk> | 
      getSandboxedSdks()
      擷取在沙箱中載入的 Sdks 相關資訊。 | 
| 
        
        
        
        
        
        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」
公用方法
getAppOwnedSdkSandboxInterfaces
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
擷取應用程式註冊的所有 AppOwnedSdkSandboxInterface。
| 傳回 | |
|---|---|
| List<AppOwnedSdkSandboxInterface> | AppOwnedSdkSandboxInterface清單,內含所有目前註冊的項目
     AppOwnedSdkSandboxInterface。
 此值不能為null。 | 
| 擲回 | |
|---|---|
| UnsupportedOperationException | 如果控制器是從非預期中獲得
     相關資訊在適當的情境下使用 SandboxedSdkProvider#getContext() | 
getClientPackageName
public String getClientPackageName ()
傳回用戶端應用程式的套件名稱。
| 傳回 | |
|---|---|
| String | 此值不能為 null。 | 
| 擲回 | |
|---|---|
| UnsupportedOperationException | 如果控制器是從非預期中獲得
     相關資訊針對適當的情境使用 SandboxedSdkProvider#getContext()。 | 
getClientSharedPreferences
public SharedPreferences getClientSharedPreferences ()
傳回 SharedPreferences,其中包含從用戶端應用程式同步處理的資料。
 
您可以在這個 SharedPreferences 中找到已由用戶端應用程式使用 SdkSandboxManager.addSyncedSharedPreferencesKeys(Set) 同步處理的金鑰。
 
傳回的 SharedPreferences 只能讀取。寫入不是
 支援。
| 傳回 | |
|---|---|
| SharedPreferences | SharedPreferences:包含從用戶端應用程式同步處理的資料。
 此值不能為null。 | 
| 擲回 | |
|---|---|
| UnsupportedOperationException | 如果控制器是從非預期中獲得
     相關資訊在適當的情境下使用 SandboxedSdkProvider#getContext() | 
getSandboxedSdks
public List<SandboxedSdk> getSandboxedSdks ()
擷取在沙箱中載入的 Sdks 相關資訊。
| 傳回 | |
|---|---|
| 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。
使用 sdkName 以非同步方式將 SDK 程式庫載入 SDK 沙箱程序。
 來電者將透過 receiver 收到通知。
 
呼叫端只能將用戶端應用程式仰賴的 SDKs 載入 SDK 沙箱中。
| 參數 | |
|---|---|
| sdkName | String:要載入的 SDK 的名稱。
 此值不能為null。 | 
| params | Bundle:要傳遞至 SDK 的其他參數,格式為Bundle用戶端和 SDK 之間協議的異動
 此值不能為null。 | 
| executor | Executor:叫用接收器的Executor。
 此值不能為null。
 回呼和事件監聽器事件會透過這個Executor,可讓您輕鬆控制
 如何透過應用程式的主執行緒分派事件
 可以使用Context.getMainExecutor()。
 否則,請提供會調度至適當執行緒的Executor。 | 
| receiver | OutcomeReceiver:在成功執行時收到SandboxedSdk,或LoadSdkException。
 此值不能為null。 | 
| 擲回 | |
|---|---|
| UnsupportedOperationException | 如果控制器是從非預期中獲得
     相關資訊在適當的情境下使用 SandboxedSdkProvider#getContext() | 
RegisterSdkSandboxActivityHandler
public IBinder registerSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
在註冊 SdkSandboxActivityHandler 後傳回其 ID。
 
這個函式會註冊由SdkSandboxActivityHandler
 SDK 並傳回 IBinder,該物件會明確識別所傳遞 SdkSandboxActivityHandler 物件。
 
如果有多次註冊相同的SdkSandboxActivityHandler,但沒有
 取消註冊後,系統會傳回相同的 IBinder 權杖。
| 參數 | |
|---|---|
| sdkSandboxActivityHandler | SdkSandboxActivityHandler:要註冊的SdkSandboxActivityHandler。
 此值不能為null。 | 
| 傳回 | |
|---|---|
| IBinder | IBinder可明確識別傳遞的SdkSandboxActivityHandler。
 
 此值不能為null。 | 
取消註冊 SdkSandboxActivityHandler
public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
取消註冊已註冊的 SdkSandboxActivityHandler。
 
如果已註冊傳遞的 SdkSandboxActivityHandler,系統就會取消註冊。
 否則不會有任何作用。
 
取消註冊後,SDK 可以再次註冊相同的處理常式物件,或是在
 充電盒需要新的 Activity。
 
如果用於啟動 Activity 的未註冊處理常式 IBinder 權杖,
 Activity 將無法啟動。
| 參數 | |
|---|---|
| sdkSandboxActivityHandler | SdkSandboxActivityHandler:要取消註冊的SdkSandboxActivityHandler。
 
 此值不能為null。 | 
| 傳回 | |
|---|---|
| void | 此值不能為 null。 | 
