SandboxedSdkProvider

public abstract class SandboxedSdkProvider
extends Object

java.lang.Object.
   ↳ android.app.sdksandbox.SandboxedSdkProvider


Encapsula la API que puede usar la zona de pruebas del SDK para interactuar con los SDK cargados en esta.

El SDK debe implementar esta clase abstracta para generar un punto de entrada de modo que la zona de pruebas del SDK pueda realizar la llamada.

Resumen

Constructores públicos

SandboxedSdkProvider()

Métodos públicos

final void attachContext(Context context)

Configura el SDK Context, que luego se puede recibir mediante getContext().

void beforeUnloadSdk()

Hace el trabajo necesario para que el SDK libere sus recursos antes de que se descarguen.

final Context getContext()

Muestra el Context que se configuró antes a través de SandboxedSdkProvider#attachContext.

abstract View getView(Context windowContext, Bundle params, int width, int height)

Solicita que una vista se renderice, de forma remota, en el proceso de la app cliente.

abstract SandboxedSdk onLoadSdk(Bundle params)

Hace el trabajo necesario para que el SDK comience a controlar las solicitudes.

Métodos heredados

Constructores públicos

SandboxedSdkProvider

public SandboxedSdkProvider ()

Métodos públicos

attachContext

public final void attachContext (Context context)

Configura el SDK Context, que luego se puede recibir mediante getContext(). Se lo llama antes de invocar a onLoadSdk(Bundle). No se deben realizar operaciones que requieran un objeto Context antes, ya que SandboxedSdkProvider#getContext mostrará un resultado nulo hasta que se llame a este método.

Muestra IllegalStateException si ya se configuró un contexto base.

Parámetros
context Context: Es el nuevo contexto base. Este valor no puede ser null.

beforeUnloadSdk

public void beforeUnloadSdk ()

Hace el trabajo necesario para que el SDK libere sus recursos antes de que se descarguen.

El administrador de la zona de pruebas del SDK llama a esta función antes de que descargue el SDK. El SDK debería fallar cualquier invocación de Binder que se mostró previamente al cliente a través de SandboxedSdk.getInterface().

El SDK no debe realizar ninguna tarea de larga duración aquí, como llamadas de E/S y de red.

getContext

public final Context getContext ()

Muestra el Context que se configuró antes a través de SandboxedSdkProvider#attachContext. El resultado será nulo si no se configuró ningún contexto anteriormente.

Devuelve
Context

getView

public abstract View getView (Context windowContext, 
                Bundle params, 
                int width, 
                int height)

Solicita que una vista se renderice, de forma remota, en el proceso de la app cliente.

Muestra View que se unirá a SurfacePackage. El SurfacePackage resultante se enviará de vuelta a la aplicación cliente.

El SDK no debe realizar ninguna tarea de larga duración aquí, como llamadas de E/S y de red. Esto puede evitar que el SDK reciba solicitudes del cliente.

Parámetros
windowContext Context: Es el Context de la pantalla que debía mostrar la vista. Este valor no puede ser null.

params Bundle: Es la lista de parámetros que se pasan desde la aplicación cliente que solicita la vista. Este valor no puede ser null.

width int: La vista que se muestra se establecerá en una ventana de este ancho en píxeles.

height int: La vista que se muestra se establecerá en una ventana de esta altura, en píxeles.

Devuelve
View Una View que la zona de pruebas del SDK pasa a la aplicación cliente que solicita la vista. Este valor no puede ser null.

onLoadSdk

public abstract SandboxedSdk onLoadSdk (Bundle params)

Hace el trabajo necesario para que el SDK comience a controlar las solicitudes.

La zona de pruebas del SDK llama a esta función después de que se carga el SDK.

El SDK debe realizar cualquier trabajo para estar listo para controlar las próximas solicitudes. No debe realizar ninguna tarea de larga duración aquí, como llamadas de E/S y de red. Esto puede evitar que el SDK reciba solicitudes del cliente. Además, no debe inicializarse, ya que depende de que otros SDK se carguen en la zona de pruebas del SDK.

El SDK no debe realizar ninguna operación que requiera un objeto Context antes de que se llame a este método.

Parámetros
params Bundle: Es la lista de parámetros que se pasan del cliente cuando carga el SDK. Este campo puede estar vacío. Este valor no puede ser null.

Resultado que se muestra
SandboxedSdk Muestra un SandboxedSdk, que se pasa de nuevo al cliente. El cliente usará el IBinder que se utilizó para crear el objeto SandboxedSdk para llamar al SDK. Este valor no puede ser null.

Arroja
LoadSdkException