SandboxedSdkProvider

public abstract class SandboxedSdkProvider
extends Object

java.lang.Объект
android.app.sdksandbox.SandboxedSdkProvider


Инкапсулирует API, который песочница SDK может использовать для взаимодействия с загруженными в нее SDK.

SDK должен реализовать этот абстрактный класс, чтобы создать точку входа в песочницу SDK, чтобы иметь возможность вызывать ее.

Краткое содержание

Общественные конструкторы

SandboxedSdkProvider ()

Публичные методы

final void attachContext ( Context context)

Устанавливает Context SDK, который затем можно получить с помощью getContext() .

void beforeUnloadSdk ()

Выполняет ли SDK работу по освобождению ресурсов перед выгрузкой.

final Context getContext ()

Верните Context ранее установленный с помощью SandboxedSdkProvider#attachContext .

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