हर रिलीज़ के साथ, कुछ 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 इंस्टेंस से सीमाओं के बारे में क्वेरी करनी होगी. साथ ही, ऐप्लिकेशन के लिए उपलब्ध सबसे बड़े डिसप्ले एरिया के WindowMetrics को WindowManager.getMaximumWindowMetrics() का इस्तेमाल करके वापस पाना होगा
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();