SDKKorumalı Alan Yöneticisi
  public
  
  final
  
  class
  SdkSandboxManager
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| 🎃 | android.app.sdksandbox.SdkSandboxManager | 
SDKs öğesini
 SDK korumalı alan işleme ve ardından bunlarla etkileşimde bulunma.
 
SDK korumalı alanı, ayrı bir benzersiz kullanıcı kimliği aralığında çalışan bir Java işlemidir. Her uygulamanın kendi SDK'sı olabilir korumalı alan işlemidir.
Uygulamanın öncelikle manifest dosyasında kullandığı SDK'ları <uses-sdk-library> etiketini kullanarak bildirmesi gerekir. Uygulamalar yalnızca kullandıkları SDK'ları SDK korumalı alanına yükleyebilirler.
Şu kaynakları da inceleyin:
Özet
| İç içe yerleştirilmiş sınıflar | |
|---|---|
| 
        
        
        
        
        interface | SdkSandboxManager.SdkSandboxProcessDeathCallbackSDK korumalı alanı ölümünü izlemek için geri çağırma. | 
| Herkese açık yöntemler | |
|---|---|
| 
        
        
        
        
        
        void | 
      addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
      SDK korumalı alanı gibi SDK korumalı alanı yaşam döngüsü etkinlikleri için kaydedilen bir geri çağırma ekler ölümcül olabilir. | 
| 
        
        
        
        
        
        void | 
      addSyncedSharedPreferencesKeys(Set<String> keys)
      Uygulamanın varsayılan  | 
| 
        
        
        
        
        
        List<AppOwnedSdkSandboxInterface> | 
      getAppOwnedSdkSandboxInterfaces()
      Bir uygulama için kaydedilen  | 
| 
        
        
        
        
        
        List<SandboxedSdk> | 
      getSandboxedSdks()
      Korumalı alana yüklenen SDK'larla ilgili bilgileri getirir. | 
| 
        
        
        static
        
        
        int | 
      getSdkSandboxState()
      SDK korumalı alanı özelliğinin mevcut kullanılabilirlik durumunu döndürür. | 
| 
        
        
        
        
        
        Set<String> | 
      getSyncedSharedPreferencesKeys()
      Uygulamanın varsayılan  | 
| 
        
        
        
        
        
        void | 
      loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
      SDK'yı korumalı alan Java işlemine yükler. | 
| 
        
        
        
        
        
        void | 
      registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
      
 | 
| 
        
        
        
        
        
        void | 
      removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
      Daha önce  | 
| 
        
        
        
        
        
        void | 
      removeSyncedSharedPreferencesKeys(Set<String> keys)
      
 Kaldırılan anahtarlar daha önce senkronize edilmişlerse SDK korumalı alanından silinir. | 
| 
        
        
        
        
        
        void | 
      requestSurfacePackage(String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
      SDK'ya bir yüzey paketi için istek gönderir. | 
| 
        
        
        
        
        
        void | 
      startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)
      SDK korumalı alanında bir  | 
| 
        
        
        
        
        
        void | 
      unloadSdk(String sdkName)
      Arayan tarafından daha önce yüklenmiş bir SDK'yı kaldırır. | 
| 
        
        
        
        
        
        void | 
      unregisterAppOwnedSdkSandboxInterface(String name)
      Bir uygulama işlemi için  | 
| Devralınan yöntemler | |
|---|---|
Sabitler
EKSTRA_DISPLAY_KİMLİĞİ
public static final String EXTRA_DISPLAY_ID
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı. Bu anahtarın değeri, mantıksal
 için SurfacePackage öğesini seçin.
Sabit Değer: "android.app.sdksandbox.extra.DISPLAY_ID"
PİKSEL_AŞAĞI_UZUNLUK
public static final String EXTRA_HEIGHT_IN_PIXELS
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı; bu anahtarın değeri, SurfacePackage öğesinin tam sayı yüksekliğini piksel cinsinden tanımlamalıdır.
Sabit Değer: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"
EKSTRA_HOST_TOKEN
public static final String EXTRA_HOST_TOKEN
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı. Bu anahtarın değeri, SurfaceView yapıldıktan sonra SurfaceView.getHostToken() tarafından döndürülen jetonu göstermelidir
 görünüm hiyerarşisine eklenir. ANR raporlamasını etkinleştirmek için yalnızca boş olmayan bir değer kabul edilir.
Sabit Değer: "android.app.sdksandbox.extra.HOST_TOKEN"
EKSTRA_SURFACE_PACKAGE
public static final String EXTRA_SURFACE_PACKAGE
Paketteki anahtarın adı, OutcomeReceiver öğesinin onResult işlevine (requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)) aktarılır. Bu anahtarın değeri, istenen SurfacePackage değerini sunar.
Sabit Değer: "android.app.sdksandbox.extra.SURFACE_PACKAGE"
EKSTRA_GENİŞLİK_İÇİ_PİXELS
public static final String EXTRA_WIDTH_IN_PIXELS
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı; bu anahtarın değeri, SurfacePackage öğesinin tam sayı genişliğini piksel cinsinden tanımlamalıdır.
Sabit Değer: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"
YÜKLE_SDK_ALREADY_LOADED
public static final int LOAD_SDK_ALREADY_LOADED
SDK zaten yüklü.
Bu, istemci uygulamanın, yüklendikten sonra loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) işlevini çağırarak aynı SDK'yı yeniden yüklemeyi denediğini gösterir.
 başarıyla yüklendi.
Sabit Değer: giriş (0x00000065)
LOAD_SDK_INTERNAL_ERROR
public static final int LOAD_SDK_INTERNAL_ERROR
SDK yüklenirken dahili hata oluştu.
Bu, istemciden gelen arama uygulanırken genel bir dahili hata oluştuğunu gösterir bir uygulamadır.
Sabit Değer: 500 (0x000001f4)
YÜKLE_SDK_NOT_FOUND
public static final int LOAD_SDK_NOT_FOUND
SDK bulunamadı.
Bu, istemci uygulamasının loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) çağırarak mevcut olmayan bir SDK'yı yüklemeye çalıştığını gösterir.
Sabit Değer: 100'ler (0x00000064)
LOAD_SDK_SDK_DEFINED_ERROR
public static final int LOAD_SDK_SDK_DEFINED_ERROR
Yüklendikten sonra SDK hatası.
Bu durum, SDK'nın yükleme sonrası başlatma sırasında bir hatayla karşılaştığını gösterir. İlgili içeriği oluşturmak için kullanılan
 bunun ayrıntıları, LoadSdkException içinde iade edilen Paket'ten edinilebilir:
 OutcomeReceiver SdkSandboxManager#loadSdk e-posta adresine teslim edildi.
Sabit Değer: giriş (0x00000066)
LOAD_SDK_SDK_SANDBOX_DISABLED
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED
SDK korumalı alanı devre dışı bırakıldı.
Bu simge, SDK korumalı alanının devre dışı bırakıldığını gösterir. SDK'ları başarısız olur.
Sabit Değer: 103 (0x00000067)
REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
SurfacePackage istenirken dahili hata oluştu.
 
Bu,
 SurfacePackage
Sabit Değer: 700 (0x000002bc)
REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
SurfacePackage istenirken SDK yüklenmedi.
 
Bu, SurfacePackage öğesinin istendiği SDK'nın olmadığını gösterir
 bunun nedeni korumalı alanın ölmesi veya daha önce yüklenmemesi olabilir.
Sabit Değer: 701 (0x000002bd)
SDK_SANDBOX_İŞLEM_DEĞİL
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE
SDK korumalı alanı işlemi kullanılamıyor.
Bu, SDK korumalı alanı işleminin öldüğü için veya veya daha önceden oluşturulmamış olabilir.
Sabit Değer: 503 (0x000001f7)
SDK_SANDBOX_SERVICE
public static final String SDK_SANDBOX_SERVICE
SdkSandboxManager almak için Context#getSystemService(String) ile kullanın
 bu istemci uygulamasına ait SDK'larla etkileşimde bulunmak için kullanılır.
Sabit Değer: "sdk_sandbox"
SDK_SANDBOX_STATE_DEVRE DIŞI
public static final int SDK_SANDBOX_STATE_DISABLED
SDK korumalı alanı devre dışı bırakıldı.
SdkSandboxManager API gizlendi. Kişi çağrılarını çağırmaya çalışıldığında UnsupportedOperationException ile karşılaşırsınız.
Sabit Değer: 0 (0x00000000)
SDK_SANDBOX_STATE_ETKİN_İŞLEM_ISOLATION
public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION
SDK korumalı alanı etkinleştirildi.
Uygulama, bağımlı olduğu SDKs verisini yüklemek için SdkSandboxManager API'lerini kullanabilir
 ilgili SDK korumalı alan işlemine ilişkin bilgiler içerir.
Sabit Değer: 2. (0x00000002)
Herkese açık yöntemler
addSdkSandboxProcessDeathCallback
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
SDK korumalı alanı gibi SDK korumalı alanı yaşam döngüsü etkinlikleri için kaydedilen bir geri çağırma ekler ölümcül olabilir. Bu çağrı çağrıldığında korumalı alan henüz oluşturulmadıysa istek Korumalı alan oluşturulana kadar saklanır ve ardından söz konusu korumalı alan için etkinleştirilir. Birden çok ölümü algılamak için geri çağırmalar eklenebilir ve korumalı alan öldüğünde kaldırılmaz.
| Parametreler | |
|---|---|
| callbackExecutor | Executor: Geri çağırmanın çağrılacağıExecutorBu değernullolamaz.
 Geri çağırma ve işleyici etkinlikleri buExecutorkullanılır. Etkinlikleri
 oluşturmak içinContext.getMainExecutor()Aksi takdirde, uygun bir ileti dizisine yönlendiren birExecutorsağlayın. | 
| callback | SdkSandboxManager.SdkSandboxProcessDeathCallback: SDK korumalı alanını alacakSdkSandboxProcessDeathCallbackyaşam döngüsü olayları.
 
 Bu değernullolamaz. | 
addSyncedSharedPreferencesKeys
public void addSyncedSharedPreferencesKeys (Set<String> keys)
Uygulamanın varsayılan SharedPreferences kaynağından SDK'ya senkronize edilen anahtar grubuna anahtar ekler
 korumalıdır.
 
SDK'lar, senkronize edilen verileri SdkSandboxController.getClientSharedPreferences() API'yi kullanarak okuyabilir.
 
Bu API kullanılarak eklenen herhangi bir anahtarı senkronize etmeyi durdurmak için removeSyncedSharedPreferencesKeys(java.util.Set) yöntemini kullanın.
 
Uygulama yeniden başlatılırsa ve kullanıcının havuzu yeniden oluşturmak için bu API'yi tekrar çağırması gerekirse senkronizasyon kesintiye uğrar sayısı.
Not: Bu sınıf, birden fazla işlemde kullanımı desteklemez.
| Parametreler | |
|---|---|
| keys | Set: Korumalı alan ile senkronize edilecek anahtar grubu.
 
 Bu değernullolamaz. | 
getAppSahip olunanSdkSandboxArayüzleri
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
Bir uygulama için kaydedilen AppOwnedSdkSandboxInterface listesini getirir
| İlerlemeler | |
|---|---|
| List<AppOwnedSdkSandboxInterface> | Çağrı Bilgileri, haritada bulunamazsa boş liste, aksi takdirde AppOwnedSdkSandboxInterfacelistesi
 
 Bu değernullolamaz. | 
getSandboxedSdks'ler
public List<SandboxedSdk> getSandboxedSdks ()
Korumalı alana yüklenen SDK'larla ilgili bilgileri getirir.
| İlerlemeler | |
|---|---|
| List<SandboxedSdk> | Şu anda yüklü tüm SDK'ları içeren SandboxedSdklistesi.
 
 Bu değernullolamaz. | 
getSdkSandboxState
public static int getSdkSandboxState ()
SDK korumalı alanı özelliğinin mevcut kullanılabilirlik durumunu döndürür.
| İlerlemeler | |
|---|---|
| int | Değer SDK_SANDBOX_STATE_DISABLEDveyaSDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION | 
getSyncedSharedPreferencesKeys
public Set<String> getSyncedSharedPreferencesKeys ()
Uygulamanın varsayılan SharedPreferences ayarından şuna senkronize edilen anahtarları döndürür:
 SDK korumalı alanı.
| İlerlemeler | |
|---|---|
| Set<String> | Bu değer nullolamaz. | 
loadSdk
public void loadSdk (String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
SDK'yı korumalı alan Java işlemine yükler.
SDK korumalı alanı işlemine eşzamansız olarak sdkName içeren SDK kitaplığını yükler. İlgili içeriği oluşturmak için kullanılan
 arayan, receiver üzerinden bilgilendirilecek.
 
Arayan, manifest dosyasında kullandığı SDKs öğesini <uses-sdk-library> etiketini kullanarak belirtmelidir. Arayan, kullandığı SDKs SDK'yı yalnızca SDK'ya yükleyebilir.
 korumalıdır.
 
İstemci uygulaması ilk SDK'yı yüklediğinde yeni bir SDK korumalı alanı işlemi oluşturuldu. İstemci uygulaması için önceden bir korumalı alan oluşturulduysa ek SDK'lar aynı korumalı alana yüklenir.
Bu API yalnızca arayan ön planda çalışırken çağrılabilir. Gelen aramalar:
 arka plan, receiver içinde LoadSdkException döndürülmesiyle sonuçlanır.
| Parametreler | |
|---|---|
| sdkName | String: Yüklenecek SDK'nın adı.
 Bu değernullolamaz. | 
| params | Bundle: SDK'yaBundlebiçiminde iletilecek ek parametreler
     kararlaştırıldığı gibidir.
 Bu değernullolamaz. | 
| executor | Executor: Alıcının çağrılacağıExecutor.
 Bu değernullolamaz.
 Geri çağırma ve işleyici etkinlikleri buExecutorkullanılır. Etkinlikleri
 oluşturmak içinContext.getMainExecutor()Aksi takdirde, uygun bir ileti dizisine yönlendiren birExecutorsağlayın. | 
| receiver | OutcomeReceiver: Bu, başarılı bir koşudaSandboxedSdkveyaLoadSdkExceptionalır.
 
 Bu değernullolamaz. | 
registerAppSahip olunanSdkSandboxInterface
public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
AppOwnedSdkSandboxInterface bir uygulama işlemi için kaydedilir.
 
Öncekiyle aynı ada sahip bir AppOwnedSdkSandboxInterface kaydediliyor
 IllegalStateException ile sonuçlanacaktır.
 
AppOwnedSdkSandboxInterface#getName(), arayüzün adını ifade eder.
| Parametreler | |
|---|---|
| appOwnedSdkSandboxInterface | AppOwnedSdkSandboxInterface: Kaydedilecek AppSahipSdkSandboxInterface
 
 Bu değernullolamaz. | 
removeSdkSandboxProcessDeathCallback
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
Daha önce addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback) kullanılarak eklenen bir SdkSandboxProcessDeathCallback kaldırılır
| Parametreler | |
|---|---|
| callback | SdkSandboxManager.SdkSandboxProcessDeathCallback: Daha önceSdkSandboxProcessDeathCallbackSdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor,
     SdkSandboxProcessDeathCallback)Bu değernullolamaz. | 
removeSyncedSharedPreferencesKeys
public void removeSyncedSharedPreferencesKeys (Set<String> keys)
addSyncedSharedPreferencesKeys(java.util.Set) kullanılarak eklenen anahtar grubundan anahtarları kaldırır
 
Kaldırılan anahtarlar daha önce senkronize edilmişlerse SDK korumalı alanından silinir.
| Parametreler | |
|---|---|
| keys | Set: Artık Korumalı Alan ile senkronize edilmemesi gereken anahtar adları grubu.
 
 Bu değernullolamaz. | 
requestSurfacePackage
public void requestSurfacePackage (String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
SDK'ya bir yüzey paketi için istek gönderir.
İstemci uygulaması SDK'nın başarıyla yüklendiğini belirten bir sinyal aldıktan sonra ve
 görünüm hiyerarşisine bir SurfaceView eklendiyse eşzamansız olarak istekte bulunabilir
 SDK'dan görünüm oluşturmak için SurfacePackage.
 
SurfacePackage hazır olduğunda, OutcomeReceiver#onResult geri çağırması
 iletilen receiver çağrılır. Bu geri arama bir Bundle içerecek
 bir nesneye ait SdkSandboxManager#EXTRA_SURFACE_PACKAGE
 ilişkilendirilmiş değer, istenen SurfacePackage.
 
İletilen params şu anahtarları içermelidir: EXTRA_WIDTH_IN_PIXELS, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS,
 SdkSandboxManager#EXTRA_DISPLAY_ID ve SdkSandboxManager#EXTRA_HOST_TOKEN. Eğer
 bu anahtarlardan herhangi biri eksik veya geçersizse IllegalArgumentException hatası verilir.
 
Bu API yalnızca arayan ön planda çalışırken çağrılabilir. Gelen aramalar:
 arka plan, receiver içinde RequestSurfacePackageException hatası döndürülmesiyle sonuçlanır.
| Parametreler | |
|---|---|
| sdkName | String: SDK korumalı alanına yüklenen SDK'nın adı.
 Bu değernullolamaz. | 
| params | Bundle: istemci uygulamanın SDK'ya aktardığı parametreler.
 Bu değernullolamaz. | 
| callbackExecutor | Executor: Geri çağırmanın çağrılacağıExecutorBu değernullolamaz.
 Geri çağırma ve işleyici etkinlikleri buExecutorkullanılır. Etkinlikleri
 oluşturmak içinContext.getMainExecutor()Aksi takdirde, uygun bir ileti dizisine yönlendiren birExecutorsağlayın. | 
| receiver | OutcomeReceiver: Bu işlem başarılı olursa anahtarı içeren birBundledöndürür.SurfacePackagedeğerine sahipSdkSandboxManager#EXTRA_SURFACE_PACKAGEveya
     Hata durumundaRequestSurfacePackageException.
 Bu değernullolamaz. | 
| Fırlatma | |
|---|---|
| IllegalArgumentException | paramsgerekli tüm anahtarları içermiyorsa. | 
Şu kaynakları da inceleyin:
startSdkSandboxActivity
public void startSdkSandboxActivity (Activity fromActivity, IBinder sdkActivityToken)
SDK korumalı alanında bir Activity başlatır.
 
Bu işlev, iletilen fromActivity ile aynı görevde yeni bir Activity başlatır ve bunu, iletilen sdkActivityToken dosyasını paylaşan SDK'ya iletir.
 bu Activity SDK'sını istatistikleri için söz konusu SDK'dan gelen isteği tanımlar.
 
Activity aşağıdaki durumlarda başlamaz:
 
- Bu API'ye çağrı yapan Uygulama arka planda.
- İletilen sdkActivityToken,Activityisteğiyle eşleşmiyor oluşturan SDK'yı kullanabilirsiniz.
- İletilen sdkActivityTokenöğesini paylaşan SDK, buActivity.
- Activitykorumalı alanı zaten oluşturuldu.
| Parametreler | |
|---|---|
| fromActivity | Activity:Activity,Activity#startActivity(Intent)çağrısı yaparak yeni korumalı alanıActivitybaşlatmak için kullanılır.
 Bu değernullolamaz. | 
| sdkActivityToken | IBinder: SDK tarafından paylaşılan veActivityiçin istekte bulunan tanımlayıcı.
 
 Bu değernullolamaz. | 
kaldırmaSdk
public void unloadSdk (String sdkName)
Arayan tarafından daha önce yüklenmiş bir SDK'yı kaldırır.
Bu SDK için ayrılan belleğin hemen serbest bırakılacağı garanti edilmez. Tümü
 requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) için sonraki çağrılar
 için sdkName başarısız olur.
 
Bu API yalnızca arayan ön planda çalışırken çağrılabilir. Gelen aramalar:
 arka plan bir SecurityException atılır.
| Parametreler | |
|---|---|
| sdkName | String: Kaldırılacak SDK'nın adı.
 
 Bu değernullolamaz. | 
unregisterAppSahipSdkSandboxInterface
public void unregisterAppOwnedSdkSandboxInterface (String name)
Bir uygulama işlemi için ERROR(/AppOwnedSdkSandboxInterfaces) hesabının kaydını iptal eder.
| Parametreler | |
|---|---|
| name | String: AppSahipSdkSandboxInterface'in kayıtlı olduğu ad.
 
 Bu değernullolamaz. | 
