SdkSandboxController
public
class
SdkSandboxController
extends Object
java.lang.Object | |
↳ | android.app.sdksandbox.sdkprovider.SdkSandboxController |
샌드박스에 로드된 SDK에서 사용하는 컨트롤러로, SDK 샌드박스에서 제공하는 정보에 액세스합니다.
이를 통해 SDK가 SDK 샌드박스의 다른 SDK와 통신하고 현재 로드된 SDK의 상태를 알 수 있습니다.
Context.getSystemService(Class)
및 class
를 사용하여 SdkSandboxController
의 인스턴스를 가져올 수 있습니다. 그러면 SandboxedSdkProvider.getContext()
를 사용하여 Context
를 가져올 수 있습니다.
요약
상수 | |
---|---|
String |
SDK_SANDBOX_CONTROLLER_SERVICE
|
공개 메서드 | |
---|---|
List<AppOwnedSdkSandboxInterface>
|
getAppOwnedSdkSandboxInterfaces()
앱에 등록된 모든 |
String
|
getClientPackageName()
클라이언트 앱의 패키지 이름을 반환합니다. |
SharedPreferences
|
getClientSharedPreferences()
클라이언트 앱에서 동기화된 데이터를 포함하는 |
List<SandboxedSdk>
|
getSandboxedSdks()
샌드박스에 로드된 SDK에 관한 정보를 가져옵니다. |
void
|
loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
SDK 샌드박스 자바 프로세스에서 SDK를 로드합니다. |
IBinder
|
registerSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)
|
void
|
unregisterSdkSandboxActivityHandler(SdkSandboxActivityHandler sdkSandboxActivityHandler)
이미 등록된 |
상속된 메서드 | |
---|---|
상수
SDK_SANDBOX_CONTROLLER_SERVICE
public static final String SDK_SANDBOX_CONTROLLER_SERVICE
상수 값: "sdk_sandbox_controller_service"
공개 메서드
getAppOwnedSdkSandboxInterfaces
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
앱에 등록된 모든 AppOwnedSdkSandboxInterface
를 가져옵니다.
반환 값 | |
---|---|
List<AppOwnedSdkSandboxInterface> |
현재 등록된 모든 AppOwnedSdkSandboxInterface가 포함된 AppOwnedSdkSandboxInterface 목록입니다.
이 값은 null 일 수 없습니다. |
생성 값 | |
---|---|
UnsupportedOperationException |
컨트롤러를 가져올 수 있습니다. 올바른 컨텍스트를 위해 SandboxedSdkProvider#getContext() 사용 |
getClientPackageName
public String getClientPackageName ()
클라이언트 앱의 패키지 이름을 반환합니다.
반환 값 | |
---|---|
String |
이 값은 null 일 수 없습니다. |
생성 값 | |
---|---|
UnsupportedOperationException |
컨트롤러를 가져올 수 있습니다. 올바른 컨텍스트에 SandboxedSdkProvider#getContext() 를 사용합니다. |
getClientSharedPreferences
public SharedPreferences getClientSharedPreferences ()
클라이언트 앱에서 동기화된 데이터를 포함하는 SharedPreferences
를 반환합니다.
SdkSandboxManager.addSyncedSharedPreferencesKeys(Set)
를 사용하여 클라이언트 앱에서 동기화된 키는 이 SharedPreferences
에서 찾을 수 있습니다.
반환된 SharedPreferences
는 읽기만 가능해야 합니다. 텍스트 쓰기는 지원되지 않습니다.
반환 값 | |
---|---|
SharedPreferences |
클라이언트 앱에서 동기화된 데이터가 포함된 SharedPreferences 입니다.
이 값은 null 일 수 없습니다. |
생성 값 | |
---|---|
UnsupportedOperationException |
컨트롤러를 가져올 수 있습니다. 올바른 컨텍스트를 위해 SandboxedSdkProvider#getContext() 사용 |
getSandboxedSdks
public List<SandboxedSdk> getSandboxedSdks ()
샌드박스에 로드된 SDK에 관한 정보를 가져옵니다.
반환 값 | |
---|---|
List<SandboxedSdk> |
현재 로드된 모든 SDK가 포함된 SandboxedSdk 목록입니다. 이 값은 null 일 수 없습니다. |
생성 값 | |
---|---|
UnsupportedOperationException |
컨트롤러를 가져올 수 있습니다. 올바른 컨텍스트를 위해 SandboxedSdkProvider#getContext() 사용 |
loadSdk
public void loadSdk (String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
SDK 샌드박스 자바 프로세스에서 SDK를 로드합니다.
sdkName
를 사용하여 SDK 샌드박스 프로세스에 SDK 라이브러리를 비동기식으로 로드합니다. 호출자는 receiver
를 통해 알림을 받습니다.
호출자는 클라이언트 앱이 사용하는 SDKs
만 SDK 샌드박스에 로드할 수 있습니다.
매개변수 | |
---|---|
sdkName |
String : 로드할 SDK의 이름입니다.
이 값은 null 일 수 없습니다. |
params |
Bundle : 클라이언트와 SDK 간에 합의된 Bundle 형식으로 SDK에 전달할 추가 매개변수입니다.
이 값은 null 일 수 없습니다. |
executor |
Executor : 수신기를 호출할 Executor 입니다.
이 값은 null 일 수 없습니다.
콜백 및 리스너 이벤트는 이 Executor 를 통해 전달되므로 사용되는 스레드를 쉽게 제어할 수 있습니다. 애플리케이션의 기본 스레드를 통해 이벤트를 전달하려면 Context.getMainExecutor() 를 사용하면 됩니다.
그 외의 경우에는 적절한 스레드에 전달되는 Executor 를 제공합니다. |
receiver |
OutcomeReceiver : 실행 성공 시 SandboxedSdk 또는 LoadSdkException 를 수신합니다.
이 값은 null 일 수 없습니다. |
생성 값 | |
---|---|
UnsupportedOperationException |
컨트롤러를 가져올 수 있습니다. 올바른 컨텍스트를 위해 SandboxedSdkProvider#getContext() 사용 |
registerSdkSandboxActivityHandler
public IBinder registerSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
SdkSandboxActivityHandler
를 등록한 후 식별자를 반환합니다.
이 함수는 SDK에서 만든 SdkSandboxActivityHandler
구현을 등록하고 전달된 SdkSandboxActivityHandler
객체를 고유하게 식별하는 IBinder
를 반환합니다.
등록 취소 없이 동일한 SdkSandboxActivityHandler
가 여러 번 등록된 경우 동일한 IBinder
토큰이 반환됩니다.
매개변수 | |
---|---|
sdkSandboxActivityHandler |
SdkSandboxActivityHandler : 등록할 SdkSandboxActivityHandler 입니다.
이 값은 null 일 수 없습니다. |
반환 값 | |
---|---|
IBinder |
IBinder 는 전달된 SdkSandboxActivityHandler 를 고유하게 식별합니다.
이 값은 null 일 수 없습니다. |
unregisterSdkSandboxActivityHandler 클래스의 생성자
public void unregisterSdkSandboxActivityHandler (SdkSandboxActivityHandler sdkSandboxActivityHandler)
이미 등록된 SdkSandboxActivityHandler
를 등록 취소합니다.
전달된 SdkSandboxActivityHandler
가 등록되면 등록이 취소됩니다.
그렇지 않으면 아무 일도 일어나지 않습니다.
등록 취소 후 SDK는 동일한 핸들러 객체를 다시 등록하거나 새 Activity
를 원하는 경우 새 핸들러 객체를 만들 수 있습니다.
등록되지 않은 핸들러의 IBinder
토큰이 Activity
를 시작하는 데 사용되면 Activity
가 시작되지 않습니다.
매개변수 | |
---|---|
sdkSandboxActivityHandler |
SdkSandboxActivityHandler : 등록 취소할 SdkSandboxActivityHandler 입니다.
이 값은 null 일 수 없습니다. |
반환 값 | |
---|---|
void |
이 값은 null 일 수 없습니다. |