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 。 |