सैंडबॉक्स
public
abstract
class
SandboxedSdkProvider
extends Object
java.lang.Object | |
↳ | android.app.sdksandbox.SandboxedSdkProvider |
यह एपीआई को इनकैप्सुलेट करता है. SDK टूल का सैंडबॉक्स, इसका इस्तेमाल करके लोड किए गए SDK टूल के साथ इंटरैक्ट कर सकता है.
एसडीके को इस ऐब्स्ट्रैक्ट क्लास को लागू करना होगा, ताकि SDK टूल सैंडबॉक्स के लिए एक एंट्री पॉइंट जनरेट किया जा सके कॉल करने के लिए कहें.
खास जानकारी
सार्वजनिक कंस्ट्रक्टर | |
---|---|
SandboxedSdkProvider()
|
सार्वजनिक तरीके | |
---|---|
final
void
|
attachContext(Context context)
यह SDK टूल |
void
|
beforeUnloadSdk()
क्या अनलोड होने से पहले, SDK टूल के संसाधनों को खाली करना ज़रूरी है. |
final
Context
|
getContext()
|
abstract
View
|
getView(Context windowContext, Bundle params, int width, int height)
क्लाइंट ऐप्लिकेशन प्रोसेस के लिए, रिमोट तरीके से रेंडर किए जाने वाले व्यू का अनुरोध करता है. |
abstract
SandboxedSdk
|
onLoadSdk(Bundle params)
क्या अनुरोधों को मैनेज करना, SDK टूल को ज़रूरी काम पूरा करता है. |
इनहेरिट किए गए तरीके | |
---|---|
सार्वजनिक कंस्ट्रक्टर
सैंडबॉक्स
public SandboxedSdkProvider ()
सार्वजनिक तरीके
अटैच करें
public final void attachContext (Context context)
यह SDK टूल Context
को सेट करता है, जिसे getContext()
का इस्तेमाल करके ऐक्सेस किया जा सकता है. यह onLoadSdk(Bundle)
शुरू होने से पहले कॉल किया जाता है. किसी भी कार्रवाई के लिए Context
की ज़रूरत नहीं होनी चाहिए
इससे पहले किया जाना चाहिए, क्योंकि SandboxedSdkProvider#getContext
इसके लिए शून्य मानेगा
इस तरीके का इस्तेमाल किया जा रहा है.
अगर कोई बुनियादी कॉन्टेक्स्ट पहले ही सेट किया जा चुका है, तो गैर-कानूनी स्टेट अपवाद को थ्रो करता है.
पैरामीटर | |
---|---|
context |
Context : नया बेस कॉन्टेक्स्ट.
यह मान null नहीं हो सकता. |
beforeUnloadSdk
public void beforeUnloadSdk ()
क्या अनलोड होने से पहले, SDK टूल के संसाधनों को खाली करना ज़रूरी है.
SDK टूल को अनलोड करने से पहले, इस फ़ंक्शन को SDK टूल का सैंडबॉक्स मैनेजर कॉल करता है. SDK टूल
बाइंडर पर क्लाइंट को पहले SandboxedSdk.getInterface()
के ज़रिए लौटाए गए किसी भी अनुरोध को पूरा नहीं करना चाहिए.
SDK टूल को यहां लंबे समय तक चलने वाले कोई भी टास्क नहीं करने चाहिए. जैसे, I/O और नेटवर्क कॉल.
'Getकॉन्टेक्स्ट'
public final Context getContext ()
SandboxedSdkProvider#attachContext
के ज़रिए पहले से सेट Context
को वापस करना.
अगर पहले से कोई संदर्भ सेट नहीं किया गया है, तो यह शून्य दिखाएगा.
रिटर्न | |
---|---|
Context |
getView
public abstract View getView (Context windowContext, Bundle params, int width, int height)
क्लाइंट ऐप्लिकेशन प्रोसेस के लिए, रिमोट तरीके से रेंडर किए जाने वाले व्यू का अनुरोध करता है.
वापस किए जाने वाले आइटम, View
को SurfacePackage
में रैप कर दिया जाएगा. इससे बनने वाला SurfacePackage
, क्लाइंट ऐप्लिकेशन पर वापस भेज दिया जाएगा.
SDK टूल को यहां लंबे समय तक चलने वाले कोई भी टास्क नहीं करने चाहिए. जैसे, I/O और नेटवर्क कॉल. ऐसा करना से SDK टूल को क्लाइंट से अनुरोध मिलने से रोका जा सकता है.
पैरामीटर | |
---|---|
windowContext |
Context : डिसप्ले का Context जिसका मकसद व्यू दिखाना था
यह मान null नहीं हो सकता. |
params |
Bundle : व्यू का अनुरोध करने वाले क्लाइंट ऐप्लिकेशन से पास किए गए पैरामीटर की सूची
यह मान null नहीं हो सकता. |
width |
int : लौटाए गए व्यू को इस तरह से दिखाया जाएगा जैसे कि इस चौड़ाई की किसी विंडो में, पिक्सल में. |
height |
int : दिखाया गया व्यू, पिक्सल में इस ऊंचाई की किसी विंडो की तरह दिखेगा. |
रिटर्न | |
---|---|
View |
View , जो SDK टूल का सैंडबॉक्स, व्यू का अनुरोध करने वाले क्लाइंट ऐप्लिकेशन को भेजता है
यह मान null नहीं हो सकता. |
ऑनलोडSdk
public abstract SandboxedSdk onLoadSdk (Bundle params)
क्या अनुरोधों को मैनेज करना, SDK टूल को ज़रूरी काम पूरा करता है.
SDK टूल लोड होने के बाद, इस फ़ंक्शन को SDK सैंडबॉक्स कॉल करता है.
आने वाले अनुरोधों को मैनेज करने के लिए, SDK टूल को हर काम करना चाहिए. इसे ऐसा नहीं करना चाहिए लंबे समय तक चलने वाले टास्क हैं, जैसे कि I/O और नेटवर्क कॉल. ऐसा करने से, SDK टूल पर ये कार्रवाइयां नहीं की जा सकतीं क्लाइंट से अनुरोध मिलते हैं. इसके अलावा, इसे यह शुरू नहीं करना चाहिए कि और SDK टूल के सैंडबॉक्स में लोड होने वाले दूसरे SDK टूल पर निर्भर होता है.
इस तरीके से पहले, SDK टूल को ऐसी कोई भी कार्रवाई नहीं करनी चाहिए जिसमें Context
ऑब्जेक्ट की ज़रूरत हो
कॉल किया गया.
पैरामीटर | |
---|---|
params |
Bundle : SDK टूल लोड होने के बाद, क्लाइंट से पास किए गए पैरामीटर की सूची. यह फ़ील्ड खाली हो सकता है.
यह मान null नहीं हो सकता. |
रिटर्न | |
---|---|
SandboxedSdk |
क्लाइंट को वापस पास किया गया SandboxedSdk दिखाता है. IBinder का इस्तेमाल करके
SDK टूल में कॉल करने के लिए, क्लाइंट SandboxedSdk ऑब्जेक्ट का इस्तेमाल करेगा.
यह मान null नहीं हो सकता. |
थ्रो | |
---|---|
LoadSdkException |