SandboxedSdkProvider

public abstract class SandboxedSdkProvider
extends Object

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


Incapsula l'API che la sandbox dell'SDK può utilizzare per interagire con gli SDK caricati al suo interno.

L'SDK deve implementare questa classe astratta per generare un punto di ingresso affinché la sandbox dell'SDK possa effettuare la chiamata.

Riepilogo

Costruttori pubblici

SandboxedSdkProvider()

Metodi pubblici

final void attachContext(Context context)

Imposta l'SDK Context che può essere ricevuto utilizzando getContext().

void beforeUnloadSdk()

Il lavoro necessario all'SDK per liberare risorse prima dell'unload.

final Context getContext()

Restituisci il valore Context impostato in precedenza tramite SandboxedSdkProvider#attachContext.

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

Richiede il rendering da remoto di una vista nel processo dell'app client.

abstract SandboxedSdk onLoadSdk(Bundle params)

Il lavoro necessario all'SDK per iniziare a gestire le richieste.

Metodi ereditati

Costruttori pubblici

SandboxedSdkProvider

public SandboxedSdkProvider ()

Metodi pubblici

attachContext

public final void attachContext (Context context)

Imposta l'SDK Context che può essere ricevuto utilizzando getContext(). Questa chiamata viene chiamata prima di chiamare onLoadSdk(Bundle). Nessuna operazione che richiede Context deve essere eseguita prima di questa data, poiché SandboxedSdkProvider#getContext restituirà null fino a quando questo metodo non viene chiamato.

Genera IllegalStateException se è già stato impostato un contesto di base.

Parametri
context Context: il nuovo contesto di base. Questo valore non può essere null.

beforeUnloadSdk

public void beforeUnloadSdk ()

Il lavoro necessario all'SDK per liberare risorse prima dell'unload.

Questa funzione viene richiamata dal gestore sandbox dell'SDK prima dell'unload dell'SDK. L'SDK non dovrebbe riuscire a eseguire alcuna chiamata su Binder precedentemente restituita al client tramite SandboxedSdk.getInterface().

L'SDK non deve eseguire attività di lunga durata qui, come chiamate di I/O e di rete.

getContext

public final Context getContext ()

Restituisci il valore Context impostato in precedenza tramite SandboxedSdkProvider#attachContext. Verrà restituito un valore nullo se non è stato impostato alcun contesto in precedenza.

Ritorni
Context

getView

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

Richiede il rendering da remoto di una vista nel processo dell'app client.

I resi View verranno aggregati a SurfacePackage. il valore SurfacePackage risultante verrà restituito all'applicazione client.

L'SDK non deve eseguire attività di lunga durata qui, come chiamate di I/O e di rete. Ciò può impedire all'SDK di ricevere richieste dal client.

Parametri
windowContext Context: il valore Context del display che mostrava la visualizzazione Questo valore non può essere null.

params Bundle: elenco dei parametri trasmessi dall'applicazione client che richiede la visualizzazione Questo valore non può essere null.

width int: la visualizzazione restituita verrà posizionata come in una finestra di questa larghezza, in pixel.

height int: la vista restituita verrà posizionata come in una finestra di questa altezza, in pixel.

Ritorni
View Un View che la sandbox dell'SDK passa all'applicazione client che richiede la visualizzazione Questo valore non può essere null.

onLoadSdk

public abstract SandboxedSdk onLoadSdk (Bundle params)

Il lavoro necessario all'SDK per iniziare a gestire le richieste.

Questa funzione viene richiamata dalla sandbox dell'SDK dopo il caricamento dell'SDK.

L'SDK dovrebbe fare tutto il possibile per essere pronto a gestire le richieste future. Non dovrebbe eseguire attività a lunga esecuzione qui, come chiamate di I/O e di rete. In questo modo puoi impedire all'SDK di ricevere richieste dal client. Inoltre, non deve eseguire l'inizializzazione che dipende da altri SDK caricati nella sandbox dell'SDK.

L'SDK non deve eseguire operazioni che richiedono un oggetto Context prima che questo metodo sia stato chiamato.

Parametri
params Bundle: elenco dei parametri trasmessi dal client durante il caricamento dell'SDK. Il campo può essere vuoto. Questo valore non può essere null.

Ritorni
SandboxedSdk Restituisce un valore SandboxedSdk, restituito al client. L'IBinder utilizzato per creare l'oggetto SandboxedSdk verrà utilizzato dal client per chiamare nell'SDK. Questo valore non può essere null.

Tiri
LoadSdkException