SandboxedSdkProvider

public abstract class SandboxedSdkProvider
extends Object

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


Encapsula a API que o sandbox do SDK pode usar para interagir com os SDKs carregados nela.

O SDK precisa implementar esta classe abstrata para gerar um ponto de entrada para o sandbox do SDK e poder fazer uma chamada por ele.

Resumo

Construtores públicos

SandboxedSdkProvider()

Métodos públicos

final void attachContext(Context context)

Define o SDK Context que pode ser recebido usando getContext().

void beforeUnloadSdk()

Faz o trabalho necessário para que o SDK libere os recursos antes de ser descarregado.

final Context getContext()

Retorna o Context definido anteriormente pelo SandboxedSdkProvider#attachContext.

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

Solicita que uma visualização seja renderizada remotamente para o processo do app cliente.

abstract SandboxedSdk onLoadSdk(Bundle params)

Faz o trabalho necessário para que o SDK comece a processar solicitações.

Métodos herdados

Construtores públicos

SandboxedSdkProvider

public SandboxedSdkProvider ()

Métodos públicos

attachContext

public final void attachContext (Context context)

Define o SDK Context que pode ser recebido usando getContext(). Isso é chamado antes de onLoadSdk(Bundle) ser invocado. Nenhuma operação que exija um Context pode ser realizada antes disso, já que SandboxedSdkProvider#getContext retornará nulo até que esse método seja chamado.

Lança uma IllegalStateException se um contexto base já tiver sido definido.

Parâmetros
context Context: o novo contexto base. Esse valor não pode ser null.

beforeUnloadSdk

public void beforeUnloadSdk ()

Faz o trabalho necessário para que o SDK libere os recursos antes de ser descarregado.

Essa função é chamada pelo gerenciador do sandbox do SDK antes de descarregar o SDK. O SDK falha em todas as invocações no Binder anteriormente retornadas ao cliente por SandboxedSdk.getInterface().

O SDK não pode executar nenhuma tarefa de longa duração aqui, como E/S ou chamadas de rede.

getContext

public final Context getContext ()

Retorna o Context definido anteriormente pelo SandboxedSdkProvider#attachContext. Esse resultado retornará nulo se nenhum contexto tiver sido definido anteriormente.

Retorna
Context

getView

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

Solicita que uma visualização seja renderizada remotamente para o processo do app cliente.

Retorna uma View que vai ser envolvida por SurfacePackage. O SurfacePackage resultante é enviado de volta ao aplicativo cliente.

O SDK não pode executar nenhuma tarefa de longa duração aqui, como E/S ou chamadas de rede. Isso pode impedir que o SDK receba solicitações do cliente.

Parâmetros
windowContext Context: o Context da tela que mostra a visualização Este valor não pode ser null.

params Bundle: lista de parâmetros transmitidos do aplicativo cliente que solicita a visualização Este valor não pode ser null.

width int: a visualização retornada é colocada como em uma janela com essa largura, em pixels.

height int: a visualização retornada é colocada como em uma janela dessa altura, em pixels.

Retorna
View Um View que o sandbox do SDK transmite ao aplicativo cliente que solicita a visualização Esse valor não pode ser null.

onLoadSdk

public abstract SandboxedSdk onLoadSdk (Bundle params)

Faz o trabalho necessário para que o SDK comece a processar solicitações.

Essa função é chamada pelo sandbox do SDK depois que ele carrega o SDK.

O SDK vai realizar todo o trabalho para ficar pronto para processar as próximas solicitações. Ele não pode executar nenhuma tarefa de longa duração aqui, como E/S ou chamadas de rede. Isso pode impedir que o SDK receba solicitações do cliente. Além disso, ele não pode fazer a inicialização que depende do carregamento de outros SDKs no sandbox.

O SDK não pode fazer nenhuma operação que exija um objeto Context antes que esse método seja chamado.

Parâmetros
params Bundle: lista de parâmetros transmitidos do cliente quando ele carrega o SDK. Pode ficar vazio. Esse valor não pode ser null.

Retorna
SandboxedSdk Retorna um SandboxedSdk, transmitido ao cliente. O IBinder usado para criar o objeto SandboxedSdk será usado pelo cliente para chamar o SDK. Esse valor não pode ser null.

Gera
LoadSdkException