SandboxedSdkProvider
public
abstract
class
SandboxedSdkProvider
extends Object
java.lang.Object | |
↳ | android.app.sdksandbox.SandboxedSdkProvider |
Mengenkapsulasi API yang dapat digunakan sandbox SDK untuk berinteraksi dengan SDK yang dimuat di dalamnya.
SDK harus menerapkan class abstrak ini untuk membuat titik entri agar sandbox SDK dapat memanggilnya.
Ringkasan
Konstruktor publik | |
---|---|
SandboxedSdkProvider()
|
Metode publik | |
---|---|
final
void
|
attachContext(Context context)
Menetapkan SDK |
void
|
beforeUnloadSdk()
Apakah SDK perlu membebaskan resource-nya sebelum menghapus muatannya. |
final
Context
|
getContext()
Menampilkan |
abstract
View
|
getView(Context windowContext, Bundle params, int width, int height)
Meminta tampilan untuk dirender dari jarak jauh ke proses aplikasi klien. |
abstract
SandboxedSdk
|
onLoadSdk(Bundle params)
Melakukan tugas yang diperlukan SDK untuk mulai menangani permintaan. |
Metode turunan | |
---|---|
Konstruktor publik
SandboxedSdkProvider
public SandboxedSdkProvider ()
Metode publik
attachContext
public final void attachContext (Context context)
Menetapkan SDK Context
yang kemudian dapat diterima menggunakan getContext()
. Ini dipanggil sebelum onLoadSdk(Bundle)
dipanggil. Tidak ada operasi yang memerlukan Context
harus dilakukan sebelum tanggal tersebut, karena SandboxedSdkProvider#getContext
akan menampilkan null hingga metode ini dipanggil.
Menampilkan IllegalStateException jika konteks dasar telah ditetapkan.
Parameter | |
---|---|
context |
Context : Konteks dasar yang baru.
Nilai ini tidak boleh null . |
beforeUnloadSdk
public void beforeUnloadSdk ()
Apakah SDK perlu membebaskan resource-nya sebelum menghapus muatannya.
Fungsi ini dipanggil oleh pengelola sandbox SDK sebelum menghapus muatan SDK. SDK
akan gagal melakukan pemanggilan apa pun pada Binder yang sebelumnya ditampilkan ke klien melalui SandboxedSdk.getInterface()
.
SDK tidak boleh melakukan tugas yang berjalan lama di sini, seperti panggilan I/O dan jaringan.
getContext
public final Context getContext ()
Menampilkan Context
yang sebelumnya ditetapkan melalui SandboxedSdkProvider#attachContext
.
Ini akan menampilkan null jika tidak ada konteks yang ditetapkan sebelumnya.
Hasil | |
---|---|
Context |
getView
public abstract View getView (Context windowContext, Bundle params, int width, int height)
Meminta tampilan untuk dirender dari jarak jauh ke proses aplikasi klien.
Hasil View
akan digabungkan ke SurfacePackage
. SurfacePackage
yang dihasilkan akan dikirim kembali ke aplikasi klien.
SDK tidak boleh melakukan tugas yang berjalan lama di sini, seperti panggilan I/O dan jaringan. Tindakan ini dapat mencegah SDK menerima permintaan dari klien.
Parameter | |
---|---|
windowContext |
Context : Context tampilan yang dimaksudkan untuk menampilkan tampilan
Nilai ini tidak boleh null . |
params |
Bundle : daftar parameter yang diteruskan dari aplikasi klien yang meminta tampilan
Nilai ini tidak boleh null . |
width |
int : Tampilan yang ditunjukkan akan ditata seolah-olah di jendela selebar ini, dalam piksel. |
height |
int : Tampilan yang ditunjukkan akan ditata seolah-olah di jendela setinggi ini, dalam piksel. |
Hasil | |
---|---|
View |
View yang diteruskan oleh sandbox SDK ke aplikasi klien yang meminta tampilan
Nilai ini tidak boleh null . |
onLoadSdk
public abstract SandboxedSdk onLoadSdk (Bundle params)
Melakukan tugas yang diperlukan SDK untuk mulai menangani permintaan.
Fungsi ini dipanggil oleh sandbox SDK setelah memuat SDK.
SDK harus melakukan semua tugas agar siap menangani permintaan yang akan datang. SDK tidak boleh menjalankan tugas yang berjalan lama di sini, seperti panggilan I/O dan jaringan. Tindakan ini dapat mencegah SDK menerima permintaan dari klien. Selain itu, SDK tidak boleh melakukan inisialisasi yang bergantung pada SDK lain yang dimuat ke dalam sandbox SDK.
SDK tidak boleh melakukan operasi apa pun yang memerlukan objek Context
sebelum metode ini
dipanggil.
Parameter | |
---|---|
params |
Bundle : daftar parameter yang diteruskan dari klien saat memuat SDK. Daftar ini boleh kosong.
Nilai ini tidak boleh null . |
Hasil | |
---|---|
SandboxedSdk |
Menampilkan SandboxedSdk yang diteruskan kembali ke klien. IBinder yang digunakan untuk membuat
objek SandboxedSdk akan digunakan oleh klien untuk memanggil SDK.
Nilai ini tidak boleh null . |
Menampilkan | |
---|---|
LoadSdkException |