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()
      
      
        获取沙盒中已加载的 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,其中包含从客户端应用同步的数据。
 
客户端应用使用 SdkSandboxManager.addSyncedSharedPreferencesKeys(Set) 同步的密钥可在此 SharedPreferences 中找到。
 
只能读取返回的 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:要以 Bundle 的形式传递给 SDK 的其他参数
     与 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 后返回其标识符。
 
此函数注册 SdkSandboxActivityHandler(由
 一个 SDK,并返回一个 IBinder,它唯一标识传递的 SdkSandboxActivityHandler 对象。
 
如果同一 SdkSandboxActivityHandler 注册了多次,但未记录
 取消注册,系统将返回相同的IBinder令牌。
| 参数 | |
|---|---|
sdkSandboxActivityHandler | 
        
          SdkSandboxActivityHandler:要注册的 SdkSandboxActivityHandler。
 此值不能为 null。 | 
      
| 返回 | |
|---|---|
IBinder | 
        IBinder 唯一标识传递的 SdkSandboxActivityHandler。
 
 此值不能为 null。 | 
      
unregisterSdkSandboxActivityHandler
public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
取消注册已注册的 SdkSandboxActivityHandler。
 
如果传递的 SdkSandboxActivityHandler 已注册,则会被取消注册。
 否则,它不会执行任何操作。
 
取消注册后,SDK 可以再次注册同一处理程序对象,也可以在
 它需要新的 Activity。
 
如果未注册的处理程序的 IBinder 令牌用于启动 Activity,
 Activity将无法启动。
| 参数 | |
|---|---|
sdkSandboxActivityHandler | 
        
          SdkSandboxActivityHandler:要取消注册的 SdkSandboxActivityHandler。
 
 此值不能为 null。 | 
      
| 返回 | |
|---|---|
void | 
        此值不能为 null。 |