SandboxedSdkProvider
  public
  
  
  abstract
  class
  SandboxedSdkProvider
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.app.sdksandbox.SandboxedSdkProvider | 
封裝 API,SDK 沙箱可使用此 API 與已載入沙箱內的 SDK 互動。
SDK 必須實作這個抽象類別,才能產生供 SDK 沙箱呼叫的進入點。
摘要
| 公用建構函式 | |
|---|---|
| 
      SandboxedSdkProvider()
       | |
| 公用方法 | |
|---|---|
| 
        
        
        
        final
        
        void | 
      attachContext(Context context)
      設定之後可使用  | 
| 
        
        
        
        
        
        void | 
      beforeUnloadSdk()
      執行讓 SDK 在卸載之前釋出資源所需的工作。 | 
| 
        
        
        
        final
        
        Context | 
      getContext()
      傳回先前透過  | 
| 
        abstract
        
        
        
        
        View | 
      getView(Context windowContext, Bundle params, int width, int height)
      要求將檢視畫面從遠端轉譯至用戶端應用程式程序。 | 
| 
        abstract
        
        
        
        
        SandboxedSdk | 
      onLoadSdk(Bundle params)
      執行讓 SDK 啟動處理要求所需的工作。 | 
| 繼承方法 | |
|---|---|
公用建構函式
公用方法
attachContext
public final void attachContext (Context context)
設定之後可使用 getContext() 接收的 SDK Context。這個方法會在叫用 onLoadSdk(Bundle) 前呼叫。需要 Context 的作業皆不應在此之前執行,因為直到呼叫此方法後,SandboxedSdkProvider#getContext 才不會傳回空值。
如果已設定基礎結構定義,就會擲回 IllegalStateException。
| 參數 | |
|---|---|
| context | Context:新的基礎結構定義。
 
 此值不能為null。 | 
beforeUnloadSdk
public void beforeUnloadSdk ()
執行讓 SDK 在卸載前釋出資源所需的工作。
SDK 沙箱管理工具會在卸載 SDK 前呼叫此函式。SDK 無法叫用任何先前透過 SandboxedSdk.getInterface() 傳回至用戶端的 Binder。
SDK 不應在這裡執行耗時偏長的任何工作,例如 I/O 和網路呼叫。
getContext
public final Context getContext ()
傳回先前透過 SandboxedSdkProvider#attachContext 設定的 Context。如果先前未設定結構定義,則會傳回空值。
| 傳回 | |
|---|---|
| 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 | SDK 沙箱向要求檢視畫面的用戶端應用程式傳遞的 View此值不能為null。 | 
onLoadSdk
public abstract SandboxedSdk onLoadSdk (Bundle params)
執行讓 SDK 啟動處理要求所需的工作。
SDK 沙箱會在載入 SDK 後呼叫此函式。
為了準備好處理即將發出的要求,SDK 應該執行所需的工作。不過,SDK 不應在這裡執行耗時偏長的任何工作,例如 I/O 和網路呼叫,這可能導致 SDK 無法接收來自用戶端的要求。此外,如果初始化作業需仰賴 SDK 沙箱中正在載入的其他 SDK,SDK 也不應執行這類作業。
呼叫這個方法之前,SDK 不應執行任何需要 Context 物件的作業。
| 參數 | |
|---|---|
| params | Bundle:用戶端載入 SDK 時傳出的參數清單。這個參數可以留空。此值不能為null。 | 
| 傳回 | |
|---|---|
| SandboxedSdk | 傳回 SandboxedSdk,並傳遞回用戶端。先前用來建立專案的 IBinder
     用戶端將使用SandboxedSdk物件呼叫 SDK。
 
 此值不能為null。 | 
| 擲回 | |
|---|---|
| LoadSdkException | |
