बंद किया गया

हर रिलीज़ के साथ, कुछ Android एपीआई पुराने हो सकते हैं या उन्हें फिर से तैयार करने की ज़रूरत पड़ सकती है. ऐसा, डेवलपर को बेहतर अनुभव देने या प्लैटफ़ॉर्म की नई सुविधाओं के साथ काम करने के लिए किया जाता है. ऐसे मामलों में, Android आधिकारिक तौर पर पुराने एपीआई का इस्तेमाल बंद कर देगा. साथ ही, डेवलपर को नए एपीआई का इस्तेमाल करने के लिए कहेगा.

बंद होने का मतलब है कि हमने एपीआई के लिए आधिकारिक सहायता बंद कर दी है. हालांकि, ये एपीआई डेवलपर के लिए उपलब्ध रहेंगे. इस पेज पर, Android के इस वर्शन में काम न करने वाले कुछ फ़ंक्शन के बारे में बताया गया है. बंद किए गए अन्य एपीआई या सुविधाओं के बारे में जानने के लिए, एपीआई के अंतर की रिपोर्ट देखें.

RenderScript

Android 12 से, RenderScript API का इस्तेमाल नहीं किया जा सकेगा. ये डिवाइस काम करते रहेंगे. हालांकि, हमें उम्मीद है कि डिवाइस और कॉम्पोनेंट बनाने वाली कंपनियां, समय के साथ हार्डवेयर से तेज़ी लाने की सुविधा बंद कर देंगी. हमारा सुझाव है कि GPU ऐक्सेलरेशन का पूरा फ़ायदा पाने के लिए, 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();