SdkSandboxController
public class SdkSandboxController
extends Object
java.lang.Объект | |
↳ | android.app.sdksandbox.sdkprovider.SdkSandboxController |
Контроллер, который используется SDK, загруженным в песочницу, для доступа к информации, предоставляемой песочницей SDK.
Это позволяет SDK взаимодействовать с другими SDKS в изолированной программной среде SDK и узнавать о состоянии SDK, которые в данный момент загружены в него.
Экземпляр SdkSandboxController
можно получить с помощью Context.getSystemService(Class)
и class
. 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.
Асинхронно загружает библиотеку SDK с sdkName
в процесс песочницы SDK. Вызывающий абонент будет уведомлен через receiver
.
Вызывающая сторона может загружать в изолированную программную среду SDK только SDKs
, от которых зависит клиентское приложение.
Параметры | |
---|---|
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() для правильного контекста. |
зарегистрироватьSdkSandboxActivityHandler
public IBinder registerSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
Возвращает идентификатор SdkSandboxActivityHandler
после его регистрации.
Эта функция регистрирует реализацию SdkSandboxActivityHandler
, созданную SDK, и возвращает IBinder
, который однозначно идентифицирует переданный объект SdkSandboxActivityHandler
.
Если один и тот же SdkSandboxActivityHandler
зарегистрирован несколько раз без отмены регистрации, будет возвращен один и тот же токен IBinder
.
Параметры | |
---|---|
sdkSandboxActivityHandler | SdkSandboxActivityHandler : SdkSandboxActivityHandler для регистрации. Это значение не может быть null . |
Возврат | |
---|---|
IBinder | IBinder однозначно идентифицирует переданный SdkSandboxActivityHandler . Это значение не может быть null . |
отменить регистрациюSdkSandboxActivityHandler
public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
Отмените регистрацию уже зарегистрированного SdkSandboxActivityHandler
.
Если переданный SdkSandboxActivityHandler
зарегистрирован, он будет отменен. В противном случае это ничего не даст.
После отмены регистрации SDK может снова зарегистрировать тот же объект-обработчик или создать новый, если ему понадобится новое Activity
.
Если токен IBinder
незарегистрированного обработчика, использованный для запуска Activity
, Activity
не запустится.
Параметры | |
---|---|
sdkSandboxActivityHandler | SdkSandboxActivityHandler : SdkSandboxActivityHandler для отмены регистрации. Это значение не может быть null . |
Возврат | |
---|---|
void | Это значение не может быть null . |