SandboxedSdkProvider
public abstract class SandboxedSdkProvider
extends Object
java.lang.Объект | |
↳ | android.app.sdksandbox.SandboxedSdkProvider |
Инкапсулирует API, который песочница SDK может использовать для взаимодействия с загруженными в нее 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 работу, необходимую для начала обработки запросов. |
Унаследованные методы | |
---|---|
Общественные конструкторы
SandboxedSdkProvider
public SandboxedSdkProvider ()
Публичные методы
AttachContext
public final void attachContext (Context context)
Устанавливает Context
SDK, который затем можно получить с помощью getContext()
. Это вызывается перед вызовом onLoadSdk(Bundle)
. До этого момента не следует выполнять никакие операции, требующие Context
, поскольку SandboxedSdkProvider#getContext
будет возвращать значение null до тех пор, пока этот метод не будет вызван.
Выдает IllegalStateException, если базовый контекст уже установлен.
Параметры | |
---|---|
context | Context : новый базовый контекст. Это значение не может быть null . |
перед выгрузкойSdk
public void beforeUnloadSdk ()
Выполняет ли SDK работу по освобождению ресурсов перед выгрузкой.
Эта функция вызывается диспетчером песочницы SDK перед выгрузкой SDK. SDK должен отклонять любые вызовы Binder, ранее возвращенные клиенту через SandboxedSdk.getInterface()
.
SDK не должен выполнять здесь никаких длительных задач, таких как ввод-вывод и сетевые вызовы.
getContext
public final Context getContext ()
Верните Context
ранее установленный с помощью SandboxedSdkProvider#attachContext
. Это вернет ноль, если ранее не был установлен контекст.
Возврат | |
---|---|
Context |
получить просмотр
public abstract View getView (Context windowContext, Bundle params, int width, int height)
Запрашивает удаленное отображение представления в процессе клиентского приложения.
Возвращаемое View
будет заключено в SurfacePackage
. полученный SurfacePackage
будет отправлен обратно клиентскому приложению.
SDK не должен выполнять здесь никаких длительных задач, таких как ввод-вывод и сетевые вызовы. Это может помешать SDK получать запросы от клиента.
Параметры | |
---|---|
windowContext | Context : Context отображения, который предназначен для отображения представления. Это значение не может быть null . |
params | Bundle : список параметров, переданных из клиентского приложения, запрашивающего представление. Это значение не может быть null . |
width | int : Возвращенное представление будет размещено как в окне этой ширины, в пикселях. |
height | int : Возвращенное представление будет располагаться как в окне этой высоты, в пикселях. |
Возврат | |
---|---|
View | a View , какую изолированную среду SDK передать клиентскому приложению, запрашивающему представление. Это значение не может быть null . |
onLoadSdk
public abstract SandboxedSdk onLoadSdk (Bundle params)
Выполняет ли SDK работу, необходимую для начала обработки запросов.
Эта функция вызывается песочницей SDK после загрузки SDK.
SDK должен выполнить любую работу, чтобы быть готовым обрабатывать предстоящие запросы. Здесь не следует выполнять какие-либо длительные задачи, такие как ввод-вывод и сетевые вызовы. Это может помешать SDK получать запросы от клиента. Кроме того, он не должен выполнять инициализацию, которая зависит от загрузки других SDK в изолированную программную среду SDK.
SDK не должен выполнять никаких операций, требующих объекта Context
, до вызова этого метода.
Параметры | |
---|---|
params | Bundle : список параметров, передаваемых от клиента при загрузке SDK. Это может быть пусто. Это значение не может быть null . |
Возврат | |
---|---|
SandboxedSdk | Возвращает SandboxedSdk , передаваемый обратно клиенту. IBinder, используемый для создания объекта SandboxedSdk будет использоваться клиентом для вызова SDK. Это значение не может быть null . |
Броски | |
---|---|
LoadSdkException |