एसडीकेसैंडबॉक्समैनेजर
  public
  
  final
  
  class
  SdkSandboxManager
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.app.sdksandbox.SdkSandboxManager | 
यह एपीआई को एपीआई की मदद से, यहांSDKs
 SDK टूल सैंडबॉक्स प्रोसेस करता है और फिर उसके साथ इंटरैक्ट करता है.
 
SDK सैंडबॉक्स एक जावा प्रोसेस है, जो एक अलग यूआईडी रेंज में चल रही है. हर ऐप्लिकेशन का अपना SDK टूल हो सकता है सैंडबॉक्स प्रोसेस करता है.
ऐप्लिकेशन को सबसे पहले, <uses-sdk-library> टैग का इस्तेमाल करके यह बताना होगा कि वह SDK टूल के मेनिफ़ेस्ट में उन SDK टूल पर निर्भर करता है जिन पर वह निर्भर करता है. ऐप्लिकेशन, SDK टूल के सैंडबॉक्स में सिर्फ़ उन SDK टूल को लोड कर सकते हैं जो उन पर निर्भर करते हैं.
खास जानकारी
| नेस्ट की गई क्लास | |
|---|---|
| 
        
        
        
        
        interface | SdkSandboxManager.SdkSandboxProcessDeathCallbackSDK टूल के सैंडबॉक्स की मौत को ट्रैक करने से जुड़ा कॉलबैक. | 
| सार्वजनिक तरीके | |
|---|---|
| 
        
        
        
        
        
        void | 
      addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
      इससे एक कॉलबैक जोड़ा जाता है, जो SDK टूल सैंडबॉक्स लाइफ़साइकल इवेंट के लिए रजिस्टर किया जाता है. जैसे, SDK टूल सैंडबॉक्स मौत. | 
| 
        
        
        
        
        
        void | 
      addSyncedSharedPreferencesKeys(Set<String> keys)
      ऐप्लिकेशन के डिफ़ॉल्ट  | 
| 
        
        
        
        
        
        List<AppOwnedSdkSandboxInterface> | 
      getAppOwnedSdkSandboxInterfaces()
      किसी ऐप्लिकेशन के लिए रजिस्टर की गई  | 
| 
        
        
        
        
        
        List<SandboxedSdk> | 
      getSandboxedSdks()
      इससे सैंडबॉक्स में लोड किए गए SDK टूल के बारे में जानकारी मिलती है. | 
| 
        
        
        static
        
        
        int | 
      getSdkSandboxState()
      SDK टूल की सैंडबॉक्स सुविधा की उपलब्धता की मौजूदा स्थिति दिखाता है. | 
| 
        
        
        
        
        
        Set<String> | 
      getSyncedSharedPreferencesKeys()
      सेट की गई उन कुंजियों को वापस लौटाता है जिन्हें ऐप्लिकेशन के डिफ़ॉल्ट  | 
| 
        
        
        
        
        
        void | 
      loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
      SDK टूल सैंडबॉक्स जावा प्रोसेस में SDK टूल लोड करता है. | 
| 
        
        
        
        
        
        void | 
      registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
      ऐप्लिकेशन से जुड़ी प्रोसेस के लिए,  | 
| 
        
        
        
        
        
        void | 
      removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
      
 | 
| 
        
        
        
        
        
        void | 
      removeSyncedSharedPreferencesKeys(Set<String> keys)
      
 अगर हटाई गई कुंजियां पहले से सिंक की गई हैं, तो SDK टूल के सैंडबॉक्स से उन्हें मिटा दिया जाएगा. | 
| 
        
        
        
        
        
        void | 
      requestSurfacePackage(String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
      SDK टूल को सरफ़ेस पैकेज के लिए अनुरोध भेजता है. | 
| 
        
        
        
        
        
        void | 
      startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)
      SDK टूल के सैंडबॉक्स में  | 
| 
        
        
        
        
        
        void | 
      unloadSdk(String sdkName)
      उस SDK टूल को अनलोड करता है जिसे कॉलर के ज़रिए पहले लोड किया जा चुका है. | 
| 
        
        
        
        
        
        void | 
      unregisterAppOwnedSdkSandboxInterface(String name)
      यह ऐप्लिकेशन की प्रोसेस के लिए,  | 
| इनहेरिट किए गए तरीके | |
|---|---|
स्थिरांक
अतिरिक्त_DISPLAY_ID
public static final String EXTRA_DISPLAY_ID
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) के बंडल फ़ील्ड में इस्तेमाल की जाने वाली कुंजी का नाम, इसका मान लॉजिकल के पूर्णांक आईडी को तय करना चाहिए
 SurfacePackage को दिखाने के लिए डिसप्ले का इस्तेमाल करना होगा.
कॉन्स्टेंट वैल्यू: "android.app.sdksandbox.extra.DISPLAY_ID"
अतिरिक्त_HEIGHT_IN_PIXELS
public static final String EXTRA_HEIGHT_IN_PIXELS
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) के बंडल फ़ील्ड में इस्तेमाल की जाने वाली कुंजी का नाम, इसकी वैल्यू SurfacePackage की पूर्णांक ऊंचाई को पिक्सल में तय करना चाहिए.
कॉन्स्टेंट वैल्यू: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"
additional_Host_TOKEN
public static final String EXTRA_HOST_TOKEN
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) के बंडल फ़ील्ड में इस्तेमाल की जाने वाली कुंजी का नाम. इसकी वैल्यू में, SurfaceView के होने पर SurfaceView.getHostToken() से मिला टोकन मौजूद होना चाहिए
 व्यू हैरारकी में जोड़ा गया. ANR की रिपोर्ट पाने की सुविधा चालू करने के लिए, सिर्फ़ ऐसी वैल्यू स्वीकार की जाती है जो शून्य नहीं है.
कॉन्स्टेंट वैल्यू: "android.app.sdksandbox.extra.Host_TOKEN"
अतिरिक्त_SURFACE_PACKAGE
public static final String EXTRA_SURFACE_PACKAGE
बंडल में मौजूद कुंजी का नाम, जिसे OutcomeReceiver के onResult फ़ंक्शन को भेजा गया है. यह फ़ंक्शन requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) फ़ील्ड है, इसकी वैल्यू अनुरोध किए गए SurfacePackage के बारे में बताती है.
कॉन्स्टेंट वैल्यू: "android.app.sdksandbox.extra.SURFACE_PACKAGE"
अतिरिक्त_WIDTH_IN_PIXELS
public static final String EXTRA_WIDTH_IN_PIXELS
requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) के बंडल फ़ील्ड में इस्तेमाल की जाने वाली कुंजी का नाम, इसकी वैल्यू SurfacePackage की पूर्णांक चौड़ाई को पिक्सल में तय करना चाहिए.
कॉन्स्टेंट वैल्यू: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"
LOAD_SDK_ALREADY_LOADED
public static final int LOAD_SDK_ALREADY_LOADED
SDK टूल पहले ही लोड हो गया है.
इससे पता चलता है कि क्लाइंट ऐप्लिकेशन नेloadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)
 सफलतापूर्वक लोड हो गया.
कॉन्स्टेंट वैल्यू: 101 (0x00000065)
LOAD_SDK_INTERNAL_ERROR
public static final int LOAD_SDK_INTERNAL_ERROR
SDK टूल लोड करते समय कोई अंदरूनी गड़बड़ी हुई.
इससे पता चलता है कि क्लाइंट से कॉल लागू करते समय कोई सामान्य अंदरूनी गड़बड़ी हुई है का इस्तेमाल करें.
कॉन्स्टेंट वैल्यू: 500 (0x000001f4)
लोड_SDK_NOT_FOUND
public static final int LOAD_SDK_NOT_FOUND
SDK टूल नहीं मिला.
इससे पता चलता है कि क्लाइंट ऐप्लिकेशन ने loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) को कॉल करके, एक ऐसे SDK टूल को लोड करने की कोशिश की है जो मौजूद नहीं है.
कॉन्स्टेंट वैल्यू: 100 (0x00000064)
LOAD_SDK_SDK टूल DEFINED_ERROR
public static final int LOAD_SDK_SDK_DEFINED_ERROR
लोड होने के बाद SDK टूल की गड़बड़ी.
इससे पता चलता है कि पोस्ट-लोड शुरू करने के दौरान, SDK टूल में कोई गड़बड़ी हुई है. कॉन्टेंट बनाने
 इस बारे में जानकारी, LoadSdkException में लौटाए गए बंडल में देखी जा सकती है. इसके लिए:
 OutcomeReceiver, SdkSandboxManager#loadSdk में पास हुआ.
कॉन्स्टेंट वैल्यू: 102 (0x00000066)
LOAD_SDK_SDK_SANDBOX_ प्रमोशनD
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED
SDK टूल का सैंडबॉक्स बंद है.
इससे पता चलता है कि SDK टूल का सैंडबॉक्स बंद है. अगर इसके बाद SDK टूल लोड करने की कोशिश की जाती है, यह बूट भी विफल हो जाएगा.
कॉन्स्टेंट वैल्यू: 103 (0x00000067)
REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR
SurfacePackage का अनुरोध करते समय अंदरूनी गड़बड़ी हुई.
 
यह दिखाता है कि एक सामान्य अंदरूनी गड़बड़ी हुई है.
 SurfacePackage.
कॉन्स्टेंट वैल्यू: 700 (0x000002bc)
REQUEST_SURFACE_PACKAGE_SDK टूल_NOT_LOADED
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
SurfacePackage का अनुरोध करने पर, SDK टूल लोड नहीं होता है.
 
इससे पता चलता है कि जिस SDK टूल के लिए SurfacePackage का अनुरोध किया जा रहा है वह SDK टूल
 लोड हो गया, क्योंकि सैंडबॉक्स बंद हो गया या वह पहली बार में लोड ही नहीं हुआ.
कॉन्स्टेंट वैल्यू: 701 (0x000002bd)
SDK_SANDBOX_IMAGES_NOT_Available
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE
SDK टूल की सैंडबॉक्स प्रोसेस उपलब्ध नहीं है.
इससे पता चलता है कि SDK टूल की सैंडबॉक्स प्रोसेस उपलब्ध नहीं है. किसी प्रोसेस के बंद होने की वजह से, डिसकनेक्ट किया गया है या पहले ही नहीं बनाया गया है.
कॉन्स्टेंट वैल्यू: 503 (0x000001f7)
SDK_SANDBOX_SERVICE
public static final String SDK_SANDBOX_SERVICE
SdkSandboxManager को वापस पाने के लिए, Context#getSystemService(String) के साथ इस्तेमाल करें
 इस क्लाइंट ऐप्लिकेशन से संबंधित SDK टूल के साथ इंटरैक्ट करने के लिए.
कॉन्स्टेंट वैल्यू: "SDK_सैंडबॉक्स"
SDK_SANDBOX_STATUS_ सुविधाओं को बंद करें
public static final int SDK_SANDBOX_STATE_DISABLED
SDK टूल का सैंडबॉक्स बंद है.
SdkSandboxManager एपीआई छिपे हुए हैं. उन्हें कॉल करने की कोशिश करने पर UnsupportedOperationException मिलेंगे.
कॉन्स्टेंट वैल्यू: 0 (0x00000000)
SDK_SANDBOX_स्टेट_चालू_ निलंबन_ISOLATION
public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION
SDK टूल का सैंडबॉक्स चालू है.
ऐप्लिकेशन, SDKs को लोड करने के लिए SdkSandboxManager एपीआई का इस्तेमाल कर सकता है. यह इस पर निर्भर करता है
 संबंधित SDK टूल सैंडबॉक्स प्रोसेस.
कॉन्स्टेंट वैल्यू: 2 (0x00000002)
सार्वजनिक तरीके
addSdkSandboxProcessDeathCallback
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
इससे एक कॉलबैक जोड़ा जाता है, जो SDK टूल सैंडबॉक्स लाइफ़साइकल इवेंट के लिए रजिस्टर किया जाता है. जैसे, SDK टूल सैंडबॉक्स मौत. अगर अनुरोध किए जाने के दौरान सैंडबॉक्स बनाया गया है, तो अनुरोध को तब तक सेव करके रखा जाता है, जब तक सैंडबॉक्स बन नहीं जाता. इसके बाद, वह उस सैंडबॉक्स के लिए चालू हो जाता है. एक से ज़्यादा मौत का पता लगाने के लिए कॉलबैक जोड़े जा सकते हैं और सैंडबॉक्स के मरने पर, इसे हटाया नहीं जा सकता.
| पैरामीटर | |
|---|---|
| callbackExecutor | Executor: वहExecutorजिस पर कॉलबैक शुरू करना है
 यह मानnullनहीं हो सकता.
 कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैंExecutorकी मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
 इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
 तो आप उपयोग कर सकते हैंContext.getMainExecutor().
 अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वालाExecutorदें. | 
| callback | SdkSandboxManager.SdkSandboxProcessDeathCallback: वहSdkSandboxProcessDeathCallbackजिसे SDK टूल का सैंडबॉक्स मिलेगा
     लाइफ़साइकल इवेंट.
 
 यह मानnullनहीं हो सकता. | 
addSyncedSharedPreferencesKeys
public void addSyncedSharedPreferencesKeys (Set<String> keys)
ऐप्लिकेशन के डिफ़ॉल्ट SharedPreferences से SDK टूल में सिंक की जा रही कुंजियों के सेट में कुंजियां जोड़ता है
 सैंडबॉक्स.
 
सिंक किया गया डेटा, SDK टूल के लिए उपलब्ध होगा, ताकि उसे SdkSandboxController.getClientSharedPreferences() एपीआई का इस्तेमाल करके पढ़ा जा सके.
 
इस एपीआई का इस्तेमाल करके जोड़ी गई किसी भी कुंजी को सिंक होने से रोकने के लिए, removeSyncedSharedPreferencesKeys(java.util.Set) का इस्तेमाल करें.
 
अगर ऐप्लिकेशन रीस्टार्ट होता है और पूल को फिर से बनाने के लिए, उपयोगकर्ता को इस एपीआई को फिर से कॉल करना पड़ता है, तो सिंक की प्रोसेस रुक जाती है कुंजियों का इस्तेमाल करें.
ध्यान दें: इस क्लास का इस्तेमाल एक से ज़्यादा प्रोसेस में नहीं किया जा सकता.
| पैरामीटर | |
|---|---|
| keys | Set: कुंजियों का सेट जिसे सैंडबॉक्स से सिंक किया जाएगा.
 
 यह मानnullनहीं हो सकता. | 
'ऐप्लिकेशन के मालिकाना हक वाला'SdkSandbox इंटरफ़ेस
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
किसी ऐप्लिकेशन के लिए रजिस्टर की गई AppOwnedSdkSandboxInterface की सूची फ़ेच करता है
| रिटर्न | |
|---|---|
| List<AppOwnedSdkSandboxInterface> | अगर मैप में कॉलिंग जानकारी नहीं मिली है, तो खाली सूची. अगर ऐसा नहीं है, तो AppOwnedSdkSandboxInterfaceकी सूची
 
 यह मानnullनहीं हो सकता. | 
GetSandboxedSdks
public List<SandboxedSdk> getSandboxedSdks ()
इससे सैंडबॉक्स में लोड किए गए SDK टूल के बारे में जानकारी मिलती है.
| रिटर्न | |
|---|---|
| List<SandboxedSdk> | SandboxedSdkकी सूची जिसमें हाल ही में लोड किए गए सभी SDK टूल शामिल हैं.
 
 यह मानnullनहीं हो सकता. | 
getSdkSandboxState
public static int getSdkSandboxState ()
SDK टूल की सैंडबॉक्स सुविधा की उपलब्धता की मौजूदा स्थिति दिखाता है.
| रिटर्न | |
|---|---|
| int | मान SDK_SANDBOX_STATE_DISABLEDयाSDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATIONहै | 
getSyncedSharedPreferencesKeys
public Set<String> getSyncedSharedPreferencesKeys ()
सेट की गई उन कुंजियों को वापस लौटाता है जिन्हें ऐप्लिकेशन के डिफ़ॉल्ट SharedPreferences से इस पर सिंक किया जा रहा है
 को भी लोड किया जा सकता है.
| रिटर्न | |
|---|---|
| Set<String> | यह मान nullनहीं हो सकता. | 
लोड करें
public void loadSdk (String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
SDK टूल सैंडबॉक्स जावा प्रोसेस में SDK टूल लोड करता है.
इस विकल्प से, SDK टूल की लाइब्रेरी को sdkName के साथ एसिंक्रोनस तरीके से SDK टूल की सैंडबॉक्स प्रोसेस में लोड किया जाता है. कॉन्टेंट बनाने
 कॉलर को receiver पर सूचना दी जाएगी.
 
कॉल करने वाले (कॉलर) को <uses-sdk-library> टैग का इस्तेमाल करके पहले ही यह एलान कर देना चाहिए कि वह SDKs पर निर्भर है. कॉलर सिर्फ़ SDKs लोड कर सकता है. यह SDK टूल पर निर्भर करता है
 सैंडबॉक्स.
 
क्लाइंट ऐप्लिकेशन में जब पहला SDK टूल लोड होगा, तब SDK टूल सैंडबॉक्स की नई प्रोसेस बनाया गया. अगर क्लाइंट ऐप्लिकेशन के लिए एक सैंडबॉक्स पहले से ही बना दिया गया है, तो अतिरिक्त SDK टूल एक ही सैंडबॉक्स में लोड किया जाएगा.
इस एपीआई को सिर्फ़ तब कॉल किया जा सकता है, जब कॉलर फ़ोरग्राउंड में चल रहा हो. 
 बैकग्राउंड का इस्तेमाल करने पर, receiver में LoadSdkException दिखेगा.
| पैरामीटर | |
|---|---|
| sdkName | String: लोड किए जाने वाले SDK टूल का नाम.
 यह मानnullनहीं हो सकता. | 
| params | Bundle: SDK टूल कोBundleके तौर पर भेजे जाने वाले अतिरिक्त पैरामीटर
     जैसा कि क्लाइंट और SDK टूल के बीच सहमति हुई है.
 यह मानnullनहीं हो सकता. | 
| executor | Executor: वहExecutorजिस पर रिसीवर को कॉल करना है.
 यह मानnullनहीं हो सकता.
 कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैंExecutorकी मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
 इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
 तो आप उपयोग कर सकते हैंContext.getMainExecutor().
 अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वालाExecutorदें. | 
| receiver | OutcomeReceiver: इसे या तो सही तरीके से चलने परSandboxedSdkयाLoadSdkExceptionमिलेगा.
 
 यह मानnullनहीं हो सकता. | 
रजिस्टर ऐप्लिकेशन के मालिकाना हक वालाSdkSandbox इंटरफ़ेस
public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
ऐप्लिकेशन से जुड़ी प्रोसेस के लिए, AppOwnedSdkSandboxInterface को रजिस्टर करता है.
 
किसी ऐसे AppOwnedSdkSandboxInterface को रजिस्टर करना जिसका नाम पहले वाले नाम से मेल खाता हो
 रजिस्टर किए गए इंटरफ़ेस का नतीजा IllegalStateException मिलेगा.
 
AppOwnedSdkSandboxInterface#getName() का मतलब इंटरफ़ेस का नाम है.
| पैरामीटर | |
|---|---|
| appOwnedSdkSandboxInterface | AppOwnedSdkSandboxInterface: AppOwnerSdkSandboxInterface को रजिस्टर किया जाना है
 
 यह मानnullनहीं हो सकता. | 
हटाएँSdkSandboxProcessDeathCallback
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback) का इस्तेमाल करके पहले जोड़े गए SdkSandboxProcessDeathCallback को हटाता है
| पैरामीटर | |
|---|---|
| callback | SdkSandboxManager.SdkSandboxProcessDeathCallback:SdkSandboxProcessDeathCallback, जिसे पहले इसका इस्तेमाल करके जोड़ा गया थाSdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor,
     SdkSandboxProcessDeathCallback)यह मानnullनहीं हो सकता. | 
removedSyncedSharedPreferencesKeys
public void removeSyncedSharedPreferencesKeys (Set<String> keys)
addSyncedSharedPreferencesKeys(java.util.Set) का इस्तेमाल करके जोड़े गए कुंजियों के सेट से कुंजियां हटाती हैं
 
अगर हटाई गई कुंजियां पहले से सिंक की गई हैं, तो SDK टूल के सैंडबॉक्स से उन्हें मिटा दिया जाएगा.
| पैरामीटर | |
|---|---|
| keys | Set: उन कुंजी नामों का सेट जो अब सैंडबॉक्स से सिंक नहीं किए जाने चाहिए.
 
 यह मानnullनहीं हो सकता. | 
सरफ़ेस पैकेज का अनुरोध करें
public void requestSurfacePackage (String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
SDK टूल को सरफ़ेस पैकेज के लिए अनुरोध भेजता है.
क्लाइंट ऐप्लिकेशन को SDK टूल के सही से लोड होने का सिग्नल मिलने के बाद,
 व्यू हैरारकी में SurfaceView जोड़ा गया है, तो यह एसिंक्रोनस तरीके से अनुरोध कर सकता है
 SDK टूल से व्यू रेंडर करने के लिए, SurfacePackage.
 
SurfacePackage तैयार होने पर, इसका OutcomeReceiver#onResult कॉलबैक
 पास किए गए receiver को फिर से शुरू किया जाएगा. इस कॉलबैक में एक Bundle होगा
 ऑब्जेक्ट होगा, जिसमें SdkSandboxManager#EXTRA_SURFACE_PACKAGE कुंजी होगी जिसकी
 संबंधित मान, अनुरोध किया गया SurfacePackage है.
 
पास किए गए params में ये कुंजियां शामिल होनी चाहिए: EXTRA_WIDTH_IN_PIXELS, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS,
 SdkSandboxManager#EXTRA_DISPLAY_ID और SdkSandboxManager#EXTRA_HOST_TOKEN. अगर आपने
 इनमें से कोई भी कुंजी मौजूद नहीं है या गलत है, तो IllegalArgumentException दिया जाएगा.
 
इस एपीआई को सिर्फ़ तब कॉल किया जा सकता है, जब कॉलर फ़ोरग्राउंड में चल रहा हो. 
 बैकग्राउंड का इस्तेमाल करने पर, receiver में requestSurfacePackage एक्सेप्शन दिखेगी.
| पैरामीटर | |
|---|---|
| sdkName | String: SDK टूल के सैंडबॉक्स में लोड किए गए SDK टूल का नाम.
 यह मानnullनहीं हो सकता. | 
| params | Bundle: ऐसे पैरामीटर जिन्हें क्लाइंट ऐप्लिकेशन, SDK टूल को पास करता है.
 यह मानnullनहीं हो सकता. | 
| callbackExecutor | Executor: वहExecutorजिस पर कॉलबैक शुरू करना है
 यह मानnullनहीं हो सकता.
 कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैंExecutorकी मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
 इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
 तो आप उपयोग कर सकते हैंContext.getMainExecutor().
 अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वालाExecutorदें. | 
| receiver | OutcomeReceiver: इससे या तो सही होने परBundleदिखाता है, जिसमें कुंजी शामिल होगीSurfacePackageवैल्यू के साथSdkSandboxManager#EXTRA_SURFACE_PACKAGEया
     फ़ेल होने परRequestSurfacePackageException.
 यह मानnullनहीं हो सकता. | 
| थ्रो | |
|---|---|
| IllegalArgumentException | अगर paramsमें सभी ज़रूरी कुंजियां मौजूद न हों. | 
startSdkSandboxगतिविधि
public void startSdkSandboxActivity (Activity fromActivity, IBinder sdkActivityToken)
SDK टूल के सैंडबॉक्स में Activity शुरू करता है.
 
यह फ़ंक्शन, पास किए गए fromActivity के उसी टास्क में नया Activity शुरू करेगा. साथ ही, इसे उस SDK टूल को भेज देगा जिसने पास की गई sdkActivityToken को शेयर किया है
 उस SDK टूल के अनुरोध की पहचान करता है, ताकि इस Activity को दिखाया जा सके.
 
Activity इन मामलों में शुरू नहीं होगा:
 
- इस एपीआई को कॉल करने वाला ऐप्लिकेशन, बैकग्राउंड में चल रहा है.
- पास किया गया sdkActivityToken,Activityके अनुरोध से मैप नहीं करता उस SDK टूल का इस्तेमाल करें जिसने कॉलर ऐप्लिकेशन के साथ इसे शेयर किया था.
- sdkActivityTokenको शेयर करने वाले SDK टूल ने इसके लिए अनुरोध हटा दिया है- Activity.
- सैंडबॉक्स Activityपहले ही बनाया जा चुका है.
| पैरामीटर | |
|---|---|
| fromActivity | Activity:Activityका इस्तेमाल नया सैंडबॉक्सActivityशुरू करने के लिए किया जाएगा. इसके लिए,Activity#startActivity(Intent)को इसके ख़िलाफ़ कॉल किया जाएगा.
 यह मानnullनहीं हो सकता. | 
| sdkActivityToken | IBinder: यह ऐसा आइडेंटिफ़ायर है जिसेActivityका अनुरोध करने वाला SDK टूल शेयर करता है.
 
 यह मानnullनहीं हो सकता. | 
अनलोडSdk
public void unloadSdk (String sdkName)
उस SDK टूल को अनलोड करता है जिसे कॉलर के ज़रिए पहले लोड किया जा चुका है.
इसकी कोई गारंटी नहीं है कि इस SDK टूल के लिए तय की गई मेमोरी तुरंत खाली हो जाएगी. सभी
 requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) पर बाद के कॉल
 दिए गए sdkName के लिए विफल हो जाएगा.
 
इस एपीआई को सिर्फ़ तब कॉल किया जा सकता है, जब कॉलर फ़ोरग्राउंड में चल रहा हो. 
 बैकग्राउंड में इस्तेमाल होने पर, SecurityException फेंकी जाएगी.
| पैरामीटर | |
|---|---|
| sdkName | String: उस SDK टूल का नाम जिसे अनलोड किया जाना है.
 
 यह मानnullनहीं हो सकता. | 
अपंजीकृत ऐप्लिकेशन के मालिकाना हक वालाSdkSandbox इंटरफ़ेस
public void unregisterAppOwnedSdkSandboxInterface (String name)
यह ऐप्लिकेशन की प्रोसेस के लिए, ERROR(/AppOwnedSdkSandboxInterfaces) का रजिस्ट्रेशन रद्द करता है.
| पैरामीटर | |
|---|---|
| name | String: वह नाम जिसके तहत AppProprietarySdkSandboxInterface रजिस्टर किया गया था.
 
 यह मानnullनहीं हो सकता. | 
