हर रिलीज़ के साथ, Android के कुछ एपीआई पुराने हो सकते हैं या डेवलपर को बेहतर अनुभव देने या नए प्लैटफ़ॉर्म की सुविधाओं के साथ काम करने के लिए, उन्हें फिर से तैयार करना पड़ सकता है. ऐसे मामलों में, Android पुराने एपीआई को आधिकारिक तौर पर बंद कर देगा. साथ ही, डेवलपर को नए एपीआई इस्तेमाल करने का सुझाव देगा.
बंद करने का मतलब है कि हमने एपीआई के लिए आधिकारिक सहायता बंद कर दी है. हालांकि, डेवलपर के लिए ये एपीआई उपलब्ध रहेंगे. इस पेज पर, Android के इस वर्शन में बंद किए गए कुछ एपीआई के बारे में बताया गया है. अन्य बदलावों के बारे में जानने के लिए, एपीआई में हुए बदलाव की रिपोर्ट देखें.
RenderScript
Android 12 से, RenderScript API का इस्तेमाल बंद कर दिया गया है. ये काम करते रहेंगे, लेकिन हमें उम्मीद है कि डिवाइस और कॉम्पोनेंट बनाने वाली कंपनियां, समय के साथ हार्डवेयर से तेज़ी लाने की सुविधा देना बंद कर देंगी. जीपीयू ऐक्सेलरेटर का पूरा फ़ायदा पाने के लिए, हमारा सुझाव है कि आप RenderScript से माइग्रेट करें.
Android प्लेलिस्ट
Android प्लेलिस्ट अब काम नहीं करतीं. एपीआई को अब मैनेज नहीं किया जाता. हालांकि, इसकी मौजूदा सुविधाएं अब भी काम करती हैं.
हमारा सुझाव है कि प्लेलिस्ट को m3u फ़ाइलों के तौर पर पढ़ें और सेव करें.
Display API को बंद किया जा रहा है
Android डिवाइस, अलग-अलग साइज़, डाइमेंशन या कॉन्फ़िगरेशन में उपलब्ध हो रहे हैं. जैसे, बड़ी स्क्रीन वाले डिवाइस, टैबलेट, और फ़ोल्ड किए जा सकने वाले डिवाइस. हर डिवाइस पर कॉन्टेंट को सही तरीके से रेंडर करने के लिए, आपके ऐप्लिकेशन को स्क्रीन या डिसप्ले का साइज़ तय करना होगा. समय के साथ, Android ने इस जानकारी को वापस पाने के लिए अलग-अलग एपीआई उपलब्ध कराए. Android 11 में, हमने WindowMetrics एपीआई को लॉन्च किया था और इन तरीकों को बंद कर दिया था:
Android 12 में, हम अब भी WindowMetrics का इस्तेमाल करने का सुझाव देते हैं. साथ ही, इन तरीकों को बंद कर रहे हैं:
ऐप्लिकेशन को अपनी विंडो की सीमाओं के बारे में क्वेरी करने के लिए, WindowMetrics एपीआई का इस्तेमाल करना चाहिए या मौजूदा डेंसिटी के बारे में क्वेरी करने के लिए, Configuration.densityDpi का इस्तेमाल करना चाहिए.
ध्यान दें कि Jetpack WindowManager लाइब्रेरी में WindowMetrics क्लास शामिल है. यह Android 4.0.1 (एपीआई लेवल 14) और इसके बाद के वर्शन पर काम करती है.
उदाहरण
यहां WindowMetrics को इस्तेमाल करने के कुछ उदाहरण दिए गए हैं.
सबसे पहले, पक्का करें कि आपके ऐप्लिकेशन की गतिविधियों का साइज़ पूरी तरह से बदला जा सके.
किसी गतिविधि को यूज़र इंटरफ़ेस (यूआई) से जुड़े किसी भी काम के लिए, गतिविधि के कॉन्टेक्स्ट से WindowMetrics पर निर्भर रहना चाहिए. खास तौर पर, WindowManager.getCurrentWindowMetrics() के लिए.
अगर आपका ऐप्लिकेशन MediaProjection बनाता है, तो बाउंड का साइज़ सही होना चाहिए, क्योंकि प्रोजेक्शन डिसप्ले को कैप्चर करता है. अगर ऐप्लिकेशन का साइज़ पूरी तरह से बदला जा सकता है, तो
ऐक्टिविटी कॉन्टेक्स्ट, सही सीमाएं दिखाता है.
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
Java
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
अगर ऐप्लिकेशन का साइज़ पूरी तरह से नहीं बदला जा सकता, तो उसे WindowContext इंस्टेंस से बाउंड के बारे में क्वेरी करनी होगी. साथ ही, WindowManager.getMaximumWindowMetrics() का इस्तेमाल करके, ऐप्लिकेशन के लिए उपलब्ध ज़्यादा से ज़्यादा डिसप्ले एरिया के WindowMetrics को वापस लाना होगा
Kotlin
val windowContext = context.createWindowContext(mContext.display!!, WindowManager.LayoutParams.TYPE_APPLICATION, null) val projectionMetrics = windowContext.getSystemService(WindowManager::class.java) .maximumWindowMetrics
Java
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), WindowManager.LayoutParams.TYPE_APPLICATION, null; WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();