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 getContext() kullanılarak alınabilecek Context SDK'sını ayarlar.

void beforeUnloadSdk()

SDK'nın kaldırılmadan önce kaynaklarını boşaltması için gereken çalışmaları yapar.

final Context getContext()

Daha önce SandboxedSdkProvider#attachContext aracılığıyla ayarlanmış olan Context sütununu iade edin.

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

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public SandboxedSdkProvider ()

Herkese açık yöntemler

eklemeBağlamı

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
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

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
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

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
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

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
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

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
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