SandboxedSdkProvider
public
abstract
class
SandboxedSdkProvider
extends Object
java.lang.Object | |
↳ | android.app.sdksandbox.SandboxedSdkProvider |
SDK サンドボックスに読み込まれた SDK の操作に使用できる API をカプセル化します。
SDK はこの抽象クラスを実装し、SDK サンドボックスで呼び出せるようにエントリ ポイントを生成する必要があります。
概要
パブリック コンストラクタ | |
---|---|
SandboxedSdkProvider()
|
パブリック メソッド | |
---|---|
final
void
|
attachContext(Context context)
|
void
|
beforeUnloadSdk()
SDK がアンロードされる前にリソースを解放するために必要な作業を行います。 |
final
Context
|
getContext()
以前に |
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)
getContext()
を使用して受け取れるように SDK Context
を設定します。これは onLoadSdk(Bundle)
が呼び出される前に呼び出されます。このメソッドが呼び出されるまで SandboxedSdkProvider#getContext
は null を返すため、それまでは Context
を必要とする操作は実行しないでください。
ベース コンテキストがすでに設定されている場合、IllegalStateException をスローします。
パラメータ | |
---|---|
context |
Context : 新しいベース コンテキスト。
この値が null になることはありません。 |
beforeUnloadSdk
public void beforeUnloadSdk ()
SDK がアンロードされる前にリソースを解放するために必要な作業を行います。
この関数は、SDK をアンロードする前に SDK サンドボックス マネージャーによって呼び出されます。SDK は、以前に SandboxedSdk.getInterface()
を介してクライアントに返された Binder の呼び出しをすべて失敗にします。
SDK は、I/O やネットワーク呼び出しなどの長時間実行タスクを行いません。
getContext
public final Context getContext ()
以前に SandboxedSdkProvider#attachContext
で設定した Context
を返します。コンテキストが一度も設定されていない場合は、null が返されます。
戻り値 | |
---|---|
Context |
getView
public abstract View getView (Context windowContext, Bundle params, int width, int height)
クライアント アプリ プロセスにリモートでレンダリングされるビューをリクエストします。
戻り値 View
は SurfacePackage
にラップされます。結果の SurfacePackage
はクライアント アプリに返されます。
SDK は、I/O やネットワーク呼び出しなどの長時間実行タスクを行いません。これは、SDK がクライアントからのリクエストを受け取れなくなる可能性が生じるためです。
パラメータ | |
---|---|
windowContext |
Context : ビューを表示することになるディスプレイの Context 。この値を null にすることはできません。 |
params |
Bundle : ビューをリクエストしているクライアント アプリから渡されるパラメータのリスト。この値を null にすることはできません。 |
width |
int : 返されるビューは、この幅(ピクセル単位)のウィンドウ内にあるかのように配置されます。 |
height |
int : 返されるビューは、この高さ(ピクセル単位)のウィンドウ内にあるかのように配置されます。 |
戻り値 | |
---|---|
View |
SDK サンドボックスがビューをリクエストしているクライアント アプリに渡す View
この値が null になることはありません。 |
onLoadSdk
public abstract SandboxedSdk onLoadSdk (Bundle params)
SDK がリクエストの処理を開始するために必要な作業を行います。
この関数は、SDK が読み込まれた後に SDK サンドボックスによって呼び出されます。
その後のリクエストを処理できるようにするための作業は SDK が行います。SDK は、I/O やネットワーク呼び出しなどの長時間実行タスクを行いません。これは、SDK がクライアントからのリクエストを受け取れなくなる可能性が生じるためです。また、他の SDK が SDK サンドボックスに読み込まれることに依存する初期化を行いません。
このメソッドが呼び出されない限り、SDK は Context
オブジェクトを必要とする操作を行いません。
パラメータ | |
---|---|
params |
Bundle : クライアントが SDK を読み込むときにクライアントから渡されるパラメータのリスト。空でも構いません。この値を null にすることはできません。 |
戻り値 | |
---|---|
SandboxedSdk |
クライアントに返される SandboxedSdk を返します。イベントの作成に使用する IBinder
SandboxedSdk オブジェクトは、クライアントが SDK を呼び出すために使用します。
この値が null になることはありません。 |
例外 | |
---|---|
LoadSdkException |