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 |
|