Korumalı Alana SahipSdkProvider
public
abstract
class
SandboxedSdkProvider
extends Object
java.lang.Object | |
🎃 | android.app.sdksandbox.SandboxedSdkProvider |
SDK korumalı alanının, içine yüklenen SDK'larla etkileşim kurmak için kullanabileceği API'yi encapsulates API.
SDK'nın, SDK korumalı alanının aşağıdakileri yapabilmesi için bir giriş noktası oluşturması için bu soyut sınıfı uygulaması gerekir: bir fikir edinmiş olabilir.
Özet
Kamu inşaatçıları | |
---|---|
SandboxedSdkProvider()
|
Herkese açık yöntemler | |
---|---|
final
void
|
attachContext(Context context)
Daha sonra |
void
|
beforeUnloadSdk()
SDK'nın kaldırılmadan önce kaynaklarını boşaltması için gereken çalışmaları yapar. |
final
Context
|
getContext()
Daha önce |
abstract
View
|
getView(Context windowContext, Bundle params, int width, int height)
İstemci uygulama işlemi için uzaktan oluşturulacak bir görünüm ister. |
abstract
SandboxedSdk
|
onLoadSdk(Bundle params)
SDK'nın istekleri işlemeye başlaması için gereken işlemi yapar. |
Devralınan yöntemler | |
---|---|
Kamu inşaatçıları
Korumalı Alana SahipSdkProvider
public SandboxedSdkProvider ()
Herkese açık yöntemler
eklemeBağlamı
public final void attachContext (Context context)
Daha sonra getContext()
kullanılarak alınabilecek Context
SDK'sını ayarlar. Bu işlev, onLoadSdk(Bundle)
çağrılmadan önce çağrılır. Context
gerektiren hiçbir işlem
SandboxedSdkProvider#getContext
, o zamana kadar null döndüreceği için bu tarihten önce gerçekleştirilmelidir
bu yöntem çağrıldı.
Temel bağlam zaten ayarlanmışsa InvalidStateException hatası verir.
Parametreler | |
---|---|
context |
Context : Yeni temel bağlam.
Bu değer null olamaz. |
beforeUnloadSdk
public void beforeUnloadSdk ()
SDK'nın kaldırılmadan önce kaynaklarını boşaltması için gereken çalışmaları yapar.
Bu işlev, SDK'yı kaldırmadan önce SDK korumalı alanı yöneticisi tarafından çağrılır. SDK
Bağlayıcı'da SandboxedSdk.getInterface()
aracılığıyla istemciye daha önce döndürülen tüm çağrılar başarısız olmalıdır.
SDK, burada G/Ç ve ağ çağrıları gibi uzun süreli görevler yapmamalıdır.
getContext
public final Context getContext ()
Daha önce SandboxedSdkProvider#attachContext
aracılığıyla ayarlanan Context
değerini iade edin.
Daha önce herhangi bir bağlam ayarlanmamışsa bu değer null değerini döndürür.
İlerlemeler | |
---|---|
Context |
getView
public abstract View getView (Context windowContext, Bundle params, int width, int height)
İstemci uygulama işlemi için uzaktan oluşturulacak bir görünüm ister.
View
iadeleri, SurfacePackage
içine sarmalanır. sonuç olarak elde edilen SurfacePackage
, istemci uygulamaya geri gönderilir.
SDK, burada G/Ç ve ağ çağrıları gibi uzun süreli görevler yapmamalıdır. İşlem devam ediyor SDK'nın istemciden istek almasını engelleyebilir.
Parametreler | |
---|---|
windowContext |
Context : Görüntünün gösterildiği Context
Bu değer null olamaz. |
params |
Bundle : görünümü isteyen istemci uygulamasından iletilen parametrelerin listesi
Bu değer null olamaz. |
width |
int : Döndürülen görünüm, bu genişlikteki bir pencereye, piksel cinsinden yerleştirilir. |
height |
int : Döndürülen görünüm, piksel cinsinden bu yükseklikteki bir pencereye yerleştirilir. |
İlerlemeler | |
---|---|
View |
Görünüm isteğinde bulunan istemci uygulamasına hangi SDK korumalı alanının ilettiği bir View
Bu değer null olamaz. |
onLoadSdk
public abstract SandboxedSdk onLoadSdk (Bundle params)
SDK'nın istekleri işlemeye başlaması için gereken işlemi yapar.
Bu işlev, SDK'yı yükledikten sonra SDK korumalı alanı tarafından çağrılır.
SDK, yaklaşan istekleri işlemeye hazır olmak için gereken her şeyi yapmalıdır. Herhangi bir uzun süren görevleri (G/Ç ve ağ çağrıları gibi) burada bulabilirsiniz. Bunun yapılması SDK'nın alma konusunda yardımcı olabilir. Ayrıca, bu e-postada bulunan SDK korumalı alanına yüklenen diğer SDK'lara bağlıdır.
SDK, bu yöntemden önce Context
nesnesi gerektiren herhangi bir işlem yapmamalıdır.
çağrıldı.
Parametreler | |
---|---|
params |
Bundle : SDK'yı yüklerken istemciden iletilen parametrelerin listesi. Bu alan boş olabilir.
Bu değer null olamaz. |
İlerlemeler | |
---|---|
SandboxedSdk |
İstemciye geri verilen bir SandboxedSdk döndürür. Projeyi oluşturmak için kullanılan IBinder
SandboxedSdk nesnesi, istemci tarafından SDK'yı çağırmak için kullanılır.
Bu değer null olamaz. |
Fırlatma | |
---|---|
LoadSdkException |