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 работу, необходимую для начала обработки запросов.

Унаследованные методы

Object clone ()

Создает и возвращает копию этого объекта.

boolean equals ( Object obj)

Указывает, «равен» ли какой-либо другой объект этому объекту.

void finalize ()

Вызывается сборщиком мусора для объекта, когда сборщик мусора определяет, что ссылок на объект больше нет.

final Class <?> getClass ()

Возвращает класс времени выполнения этого Object .

int hashCode ()

Возвращает значение хэш-кода для объекта.

final void notify ()

Пробуждает одиночный поток, ожидающий монитора этого объекта.

final void notifyAll ()

Пробуждает все потоки, ожидающие на мониторе этого объекта.

String toString ()

Возвращает строковое представление объекта.

final void wait (long timeoutMillis, int nanos)

Заставляет текущий поток ждать, пока он не будет пробужден, обычно путем получения уведомления или прерывания , или до тех пор, пока не истечет определенное количество реального времени.

final void wait (long timeoutMillis)

Заставляет текущий поток ждать, пока он не будет пробужден, обычно путем получения уведомления или прерывания , или до тех пор, пока не истечет определенное количество реального времени.

final void wait ()

Заставляет текущий поток ждать, пока он не будет пробужден, обычно путем получения уведомления или прерывания .

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

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