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가 요청을 처리하는 데 필요한 작업을 실행합니다. |
상속된 메서드 | |
---|---|
공개 생성자
공개 메서드
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()
를 통해 클라이언트에 반환된 바인더에서의 모든 호출에 실패해야 합니다.
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 를 반환합니다. SandboxedSdk 객체를 만드는 데 사용되는 IBinder는 클라이언트가 SDK를 호출하는 데 사용됩니다.
이 값은 null 일 수 없습니다. |
생성 값 | |
---|---|
LoadSdkException |