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
的例項。您也可以使用 SandboxedSdkProvider.getContext()
取得 Context
。
摘要
常數 | |
---|---|
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"
公用方法
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 ()
擷取在沙箱中載入的 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。
使用 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。
這個函式會註冊由 SDK 建立的 SdkSandboxActivityHandler
實作,並傳回可明確識別所傳遞 SdkSandboxActivityHandler
物件的 IBinder
。
如果多次註冊同一個 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 。 |