साथ काम करने के फ़्रेमवर्क में बदलाव (Android 14)

पहली इमेज. डेवलपर के विकल्पों में मौजूद, ऐप्लिकेशन के साथ काम करने के लिए किए गए बदलावों की स्क्रीन पर, वे बदलाव दिखते हैं जिन्हें टॉगल किया जा सकता है.

इस पेज पर, Android 14 (एपीआई लेवल 34) में, कंपैटिबिलिटी फ़्रेमवर्क के तहत किए गए ऐसे बदलावों के बारे में बताया गया है जिन्हें टॉगल किया जा सकता है. Android 14 के साथ काम करने वाले ऐप्लिकेशन को तैयार करने के दौरान, इस सूची का इस्तेमाल डेवलपर के विकल्पों और ADB कमांड के साथ करें. इससे आपको अपने ऐप्लिकेशन की जांच करने और उसे डीबग करने में मदद मिलेगी.

यहां कुछ ऐसे काम दिए गए हैं जो कंपैटिबिलिटी फ़्रेमवर्क टूल का इस्तेमाल करके किए जा सकते हैं:

  • ऐप्लिकेशन के targetSdkVersion में बदलाव किए बिना, टारगेट किए गए बदलावों की जांच करें. टॉगल का इस्तेमाल करके, टारगेट किए गए व्यवहार में होने वाले कुछ बदलावों को ज़बरदस्ती चालू किया जा सकता है. इससे, आपके मौजूदा ऐप्लिकेशन पर पड़ने वाले असर का आकलन किया जा सकता है.
  • सिर्फ़ खास बदलावों पर टेस्टिंग करें. टॉगल की मदद से, एक साथ सभी टारगेट किए गए बदलावों को लागू करने के बजाय, उन बदलावों को छोड़कर बाकी सभी बदलावों को बंद किया जा सकता है जिनकी आपको जांच करनी है.
  • adb की मदद से टॉगल मैनेज करना. adb कमांड का इस्तेमाल करके, अपने-आप होने वाले टेस्ट एनवायरमेंट में टॉगल किए जा सकने वाले बदलावों को चालू और बंद किया जा सकता है.
  • स्टैंडर्ड चेंज आईडी का इस्तेमाल करके, गड़बड़ियों को तेज़ी से ठीक करें. टॉगल किए जा सकने वाले हर बदलाव का एक यूनीक आईडी और नाम होता है. इसका इस्तेमाल करके, लॉग आउटपुट में समस्या की वजह का तुरंत पता लगाया जा सकता है.

इन सभी इस्तेमाल के उदाहरणों के लिए टूल इस्तेमाल करने के बारे में पूरी जानकारी पाने के लिए, नीति के मुताबिक काम करने से जुड़े फ़्रेमवर्क के टूल देखें.

कंपैटबिलिटी फ़्रेमवर्क में शामिल व्यवहार से जुड़े बदलाव

इस सेक्शन में दी गई सूची में, टॉगल किए जा सकने वाले उन बदलावों के बारे में बताया गया है जो Android 14 में कंपैटिबिलिटी फ़्रेमवर्क में शामिल हैं.

बदलावों की सूची को उनके डिफ़ॉल्ट स्टेटस के हिसाब से फ़िल्टर किया जा सकता है.

Android 14 में कंपैटबिलिटी फ़्रेमवर्क में टॉगल किए जा सकने वाले बदलाव

ACCESS_SHARED_IDENTITY

बदलाव का आईडी: 259743961
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए चालू है.

अगर ऐप्लिकेशन ने ActivityOptions के इंस्टेंस के साथ इस गतिविधि को लॉन्च करके, अपनी पहचान शेयर करने का विकल्प चुना है, तो यह लॉन्च करने वाले ऐप्लिकेशन की पहचान को ऐक्सेस करने की अनुमति देता है. इस इंस्टेंस पर ActivityOptions.setShareIdentityEnabled(boolean) को true की वैल्यू के साथ शुरू किया गया था. इसके अलावा, अगर लॉन्च की गई गतिविधि का यूआईडी, लॉन्च करने वाले ऐप्लिकेशन के यूआईडी के बराबर है, तो भी यह अनुमति दी जाती है. इस बदलाव के चालू होने और इनमें से कोई एक शर्त पूरी होने पर, गतिविधि Activity.getLaunchedFromUid() और Activity.getLaunchedFromPackage() की मदद से, ऐप्लिकेशन लॉन्च करने वाले ऐप्लिकेशन के यूआईडी और पैकेज के नाम को ऐक्सेस कर सकती है.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

बदलाव का आईडी: 258236856
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

इस सुविधा के चालू होने पर, "ऐप्लिकेशन काम नहीं कर रहा है" (एएनआर) मैसेज ट्रिगर होता है. ऐसा तब होता है, जब ऐप्लिकेशन Android 13 (एपीआई लेवल 33) या इससे पहले के वर्शन के एपीआई और सुविधाओं पर धीरे-धीरे जवाब देते हैं.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

आईडी बदलें: 207133734
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह विकल्प चालू किया जाता है. इससे, सिंक से जुड़े सभी एपीआई पर, कॉल करने वाले यूआईडी के लिए अथॉरिटी ऐक्सेस की जांच की जा सकती है.

CAMERA_MIC_INDICATORS_NOT_PRESENT

बदला गया आईडी: 162547999
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इससे पता चलता है कि यह डिवाइस, कैमरा और माइक्रोफ़ोन इंडिकेटर की सुविधा के साथ काम करता है. अगर वैल्यू मौजूद है, तो वह false होगी. ऐसा इसलिए, क्योंकि CompatChanges#isChangeEnabled तरीके से, बदलाव का आईडी मौजूद न होने पर true दिखता है.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

बदलाव का आईडी: 244637991
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

जब कोई ऐप्लिकेशन, PendingIntent का इस्तेमाल करके PendingIntent#send() या इसी तरह के अन्य तरीकों से सूचना भेजता है, तो उसे अब ऑप्ट-इन करना होगा. ऐसा तब करना होगा, जब उसे बैकग्राउंड में गतिविधि लॉन्च करने के अपने विशेषाधिकारों को अनुमति देनी हो, ताकि वह लंबित इंटेंट को शुरू कर सके.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 14 के व्यवहार में हुए बदलावों के बारे में बताने वाले पेज पर जाएं. इसके बाद, बैकग्राउंड से गतिविधियां शुरू करने पर अतिरिक्त पाबंदियां के बारे में बताने वाला सेक्शन देखें.

DETACH_THROWS_ISE_ONLY

बदलाव का आईडी: 236825255
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

#detachImage से मिले सही अपवाद के लिए फ़्लैग करें.

#detachImage को दस्तावेज़ में IllegalStateException के तौर पर दिखाया गया है. यह गड़बड़ी होने पर दिखता है. इसके नेटिव हेल्पर तरीके से RuntimeException दिखता है. ऐसा तब होता है, जब Image को अलग करते समय सर्फ़ेस को छोड़ दिया जाता है.

यह अपवाद, Android 13 (एपीआई लेवल 33) तक लागू रहेगा. इसके बारे में पहले दस्तावेज़ में जानकारी नहीं दी गई थी.

Android 13 (एपीआई लेवल 33) के बाद, नेटिव हेल्पर मेथड सिर्फ़ दस्तावेज़ के मुताबिक IllegalStateExceptions दिखाता है.

इस बदलाव के लागू होने के बाद, #detachImage सिर्फ़ तब IllegalStateException दिखाता है, जब इमेज को अलग करते समय कोई गड़बड़ी होती है. Android 13 (एपीआई लेवल 33) और इससे पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह सुविधा पहले की तरह काम करेगी.

DOWNSCALED

बदलाव का आईडी: 168419799
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, हर ऐप्लिकेशन के हिसाब से बफ़र के साइज़ को कम करने से जुड़े सभी बदलावों को कंट्रोल करता है. इस बदलाव को चालू करने से, ये स्केलिंग फ़ैक्टर लागू किए जा सकते हैं:

किसी ऐप्लिकेशन पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन का साइज़ सबसे ज़्यादा, चालू किए गए स्केलिंग फ़ैक्टर के हिसाब से बदल जाता है. उदाहरण के लिए, अगर 80% और 70% (DOWNSCALE_80 और DOWNSCALE_70), दोनों चालू हैं, तो 80% का इस्तेमाल किया जाएगा. अगर इस बदलाव और DOWNSCALED_INVERSE, दोनों को चालू किया जाता है, तो DOWNSCALED_INVERSE को प्राथमिकता मिलती है और स्केल करने का फ़ैक्टर उलटे तरीके से लागू होता है.

DOWNSCALED_INVERSE

बदलाव का आईडी: 273564678
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, हर ऐप्लिकेशन के हिसाब से बफ़र के उलटे क्रम में डाउनस्केलिंग से जुड़े सभी बदलावों को कंट्रोल करता है. इस बदलाव को चालू करने पर, इन स्केल फ़ैक्टर को उलटे तरीके से लागू किया जा सकता है. इसका मतलब है कि रिज़ॉल्यूशन को अपस्केल किया जाता है:

किसी ऐप्लिकेशन पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को सबसे कम, चालू किए गए स्केलिंग फ़ैक्टर के हिसाब से रीसाइज़ किया जाता है. उदाहरण के लिए, अगर 80% और 70% (DOWNSCALE_80 और DOWNSCALE_70) दोनों चालू हैं, तो 80% का इस्तेमाल किया जाता है. ऐसा इसलिए, क्योंकि उलटा लागू होने पर, 80% का स्केलिंग फ़ैक्टर 125% के बराबर होता है. यह 70% के स्केलिंग फ़ैक्टर को उलटा लागू करने पर मिलने वाले 142.86% स्केलिंग से कम है. अगर इस बदलाव और DOWNSCALED, दोनों को चालू किया जाता है, तो DOWNSCALED_INVERSE को प्राथमिकता दी जाती है और स्केल करने का फ़ैक्टर उलटे तरीके से लागू होता है.

DOWNSCALE_30

बदलाव का आईडी: 189970040
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 30% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 333.33% है.

DOWNSCALE_35

बदलाव का आईडी: 189969749
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 35% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसमें वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 285.71% है.

DOWNSCALE_40

बदलाव का आईडी: 189970038
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 40% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 250% है.

DOWNSCALE_45

आईडी बदलें: 189969782
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 45% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह असली डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 222.22% रिज़ॉल्यूशन वाले डिसप्ले पर चल रहा है.

DOWNSCALE_50

बदलाव का आईडी: 176926741
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 50% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 200% है.

DOWNSCALE_55

बदलाव का आईडी: 189970036
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 55% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह असली डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 181.82% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_60

बदलाव का आईडी: 176926771
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 60% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 166.67% है.

DOWNSCALE_65

बदलाव का आईडी: 189969744
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 65% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 153.85% है.

DOWNSCALE_70

बदलाव का आईडी: 176926829
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 70% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 142.86% है.

DOWNSCALE_75

बदलाव का आईडी: 189969779
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 75% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 133.33% है.

DOWNSCALE_80

बदलाव का आईडी: 176926753
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 80% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 125% है.

DOWNSCALE_85

बदलाव का आईडी: 189969734
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना होगा कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 85% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 117.65% है.

DOWNSCALE_90

बदलाव का आईडी: 182811243
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 90% है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने से, ऐप्लिकेशन को यह मानना पड़ता है कि वह ऐसे डिसप्ले पर चल रहा है जिसका वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन, असली डिसप्ले के रिज़ॉल्यूशन का 111.11% है.

ENABLE_PLATFORM_MDNS_BACKEND

बदलाव का आईडी: 270306772
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू होती है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, बैकएंड के तौर पर प्लैटफ़ॉर्म में इंटिग्रेट किए गए mDNS को लागू करते हैं. वहीं, पिछले वर्शन को टारगेट करने वाले ऐप्लिकेशन, बैकएंड के तौर पर लेगसी नेटवर्क सेवा की खोज (एनएसडी) का इस्तेमाल करते हैं. इसमें लेगसी नेटिव डेमॉन को NsdManager के तौर पर इस्तेमाल किया जाता है.

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

बदलाव का आईडी: 266524688
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

सेल्फ़-सर्टिफ़ाइड क्षमताओं की जांच करने की सुविधा, Android 14 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है. ज़्यादा जानकारी के लिए, NetworkCapabilities पर जाएं.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

बदलाव का आईडी: 154726397
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह ज़रूरी है कि वे मेनिफ़ेस्ट में पैकेज की जानकारी देखने की अपनी ज़रूरत के बारे में बताएं. ऐसा इसलिए, ताकि वे AccountManager एपीआई को ऐक्सेस कर सकें.

ENFORCE_READ_ONLY_JAVA_DCL

बदलाव का आईडी: 218865702
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह ज़रूरी है कि डाइनैमिक तरीके से लोड की गई सभी फ़ाइलों को सिर्फ़ पढ़ने के लिए मार्क किया जाए. इससे, डाइनैमिक तरीके से लोड की गई फ़ाइलों को नुकसान पहुंचाने वाले लोगों या इकाइयों से अनचाहे तरीके से बदले जाने से रोका जा सकता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 14 के व्यवहार में हुए बदलावों के बारे में बताने वाले पेज पर, डाइनैमिक कोड को ज़्यादा सुरक्षित तरीके से लोड करने के बारे में जानकारी देने वाला सेक्शन देखें.

ENFORCE_STRICT_QUERY_BUILDER

आईडी बदलें: 143231523
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस सुविधा के चालू होने पर, SQLiteQueryBuilder, सभी CalendarProvider2 क्वेरी के चुने गए विकल्पों की जांच करता है. इससे यह पता चलता है कि कहीं उनमें नुकसान पहुंचाने वाले आर्ग्युमेंट तो शामिल नहीं हैं.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

बदलाव का आईडी: 265195908
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए चालू है.

कॉल करने वाला ऐप्लिकेशन, कैश मेमोरी में सेव की गई स्थिति में चला जाता है. ऐसे में, AlarmManager.OnAlarmListener कॉलबैक की उम्मीद रखने वाले सटीक अलार्म बंद हो जाते हैं.

Android 14 में एग्ज़ैक्ट अलार्म से जुड़े बदलावों के बारे में ज़्यादा जानने के लिए, एग्ज़ैक्ट अलार्म शेड्यूल करने की सुविधा डिफ़ॉल्ट रूप से बंद होती है लेख पढ़ें.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

आईडी में बदलाव: 261055255
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

इस सुविधा के चालू होने पर, इंस्टेंट ऐप्लिकेशन को उन सभी सेवाओं के लिए फ़ोरग्राउंड सेवा के सही टाइप तय करने होंगे जिनके बारे में ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में बताया गया है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, फ़ोरग्राउंड सेवा के टाइप में हुए बदलावों के बारे में बताने वाला पेज देखें.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

बदलाव का आईडी: 255042465
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

इस सुविधा के चालू होने पर, Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, फ़ोरग्राउंड सेवा शुरू करने के लिए FOREGROUND_SERVICE_TYPE_NONE टाइप का इस्तेमाल करते हैं. हालांकि, यह टाइप अब काम नहीं करता. इसलिए, लॉग में चेतावनी दिखती है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, फ़ोरग्राउंड सेवा के टाइप में हुए बदलावों के बारे में बताने वाला पेज देखें.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

बदलाव का आईडी: 255038118
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या उसके बाद के वर्शन को टारगेट करते हैं.

इस सुविधा के चालू होने पर, Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन, फ़ोरग्राउंड सेवा शुरू करने के लिए, बंद किए गए FOREGROUND_SERVICE_TYPE_NONE टाइप का इस्तेमाल नहीं कर पाएंगे. ऐसा करने पर, उन्हें अपवाद दिखेगा.

इस बदलाव के बारे में ज़्यादा जानने के लिए, फ़ोरग्राउंड सेवा के टाइप में हुए बदलावों के बारे में बताने वाला पेज देखें.

FGS_TYPE_PERMISSION_CHANGE_ID

बदलाव का आईडी: 254662522
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू होती है जो Android 14 (एपीआई लेवल 34) या इससे बाद के वर्शन को टारगेट करते हैं.

इस सुविधा के चालू होने पर, Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐसे ऐप्लिकेशन SecurityException हो जाते हैं जो फ़ोरग्राउंड सेवा के टाइप से जुड़ी ज़रूरी अनुमतियों के बिना फ़ोरग्राउंड सेवा शुरू करते हैं.

इस बदलाव के बारे में ज़्यादा जानने के लिए, फ़ोरग्राउंड सेवा के टाइप में हुए बदलावों के बारे में बताने वाला पेज देखें.

FORCE_DISABLE_HEVC_SUPPORT

बदलाव का आईडी: 174227820
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

किसी ऐप्लिकेशन के लिए, HEVC मीडिया फ़ॉर्मैट इस्तेमाल करने की सुविधा को ज़बरदस्ती बंद करें. ऐप्लिकेशन को अपने मेनिफ़ेस्ट में, मीडिया से जुड़ी सुविधाओं के बारे में बताना चाहिए. हालांकि, इस फ़्लैग का इस्तेमाल करके किसी ऐप्लिकेशन को HEVC फ़ॉर्मैट में वीडियो चलाने से रोका जा सकता है. इसलिए, HEVC फ़ॉर्मैट में कोड किए गए मीडिया को ऐक्सेस करते समय, ट्रांसकोडिंग को मजबूर किया जाता है. इस फ़्लैग को सेट करने पर, ऐप्लिकेशन के लिए ओएस लेवल पर सेट की गई सभी डिफ़ॉल्ट सेटिंग बदल जाती हैं. यह डिफ़ॉल्ट रूप से बंद होती है. इसका मतलब है कि ओएस के डिफ़ॉल्ट सेटिंग को प्राथमिकता दी जाती है. अगर यह फ़्लैग और FORCE_ENABLE_HEVC_SUPPORT, दोनों चालू हैं, तो ओएस दोनों फ़्लैग को अनदेखा कर देता है.

FORCE_ENABLE_HEVC_SUPPORT

बदलाव का आईडी: 174228127
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

किसी ऐप्लिकेशन में HEVC मीडिया की सुविधा को चालू करने के लिए मजबूर करें. ऐप्लिकेशन को अपने मेनिफ़ेस्ट में, मीडिया की उन सुविधाओं के बारे में बताना चाहिए जो उनके साथ काम करती हैं. हालांकि, इस फ़्लैग का इस्तेमाल करके किसी ऐप्लिकेशन में HEVC की सुविधा को चालू किया जा सकता है. इससे HEVC में एन्कोड किए गए मीडिया को ऐक्सेस करते समय, ट्रांसकोडिंग से बचा जा सकता है. इस फ़्लैग को सेट करने पर, ऐप्लिकेशन के लिए ओएस लेवल पर सेट किए गए सभी डिफ़ॉल्ट सेटिंग बदल जाती हैं. यह डिफ़ॉल्ट रूप से बंद होती है. इसका मतलब है कि ओएस के डिफ़ॉल्ट सेटिंग को प्राथमिकता दी जाएगी. अगर यह फ़्लैग और FORCE_DISABLE_HEVC_SUPPORT, दोनों चालू हैं, तो ओएस दोनों फ़्लैग को अनदेखा कर देता है.

FORCE_NON_RESIZE_APP

आईडी बदलें: 181146395
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस विकल्प को जिन पैकेज पर लागू किया जाता है उनका साइज़ नहीं बदला जा सकता.

FORCE_RESIZE_APP

बदला गया आईडी: 174042936
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस सेटिंग को जिन पैकेज पर लागू किया जाता है उनके साइज़ को बदला जा सकता है. हम सिर्फ़ फ़ुलस्क्रीन विंडो मोड में साइज़ बदलने की अनुमति देते हैं. हालांकि, हम ऐप्लिकेशन को साइज़ बदलने वाले मल्टी-विंडो मोड में नहीं ले जाते.

GWP_ASAN

बदलाव का आईडी: 145634846
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस कुकी से, ऐप्लिकेशन में नेटिव मेमोरी से जुड़ी गड़बड़ी की पहचान करने की सुविधा चालू होती है.

GWP-ASan का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, GWP-ASan गाइड देखें.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

बदलाव का आईडी: 229362273
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू होती है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कॉम्पोनेंट एक्सपोर्ट किए जाने चाहिए, ताकि उन्हें इंप्लिसिट इंटेंट के ज़रिए शुरू किया जा सके. अगर किसी कॉम्पोनेंट को एक्सपोर्ट और इनवोक नहीं किया जाता है, तो उसे रिसीवर की सूची से हटा दिया जाता है. यह खास तौर पर गतिविधियों और ब्रॉडकास्ट पर लागू होता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 14 के व्यवहार में हुए बदलावों के बारे में जानकारी देने वाले पेज पर जाएं. इसके बाद, इंप्लिसिट और लंबित इंटेंट पर पाबंदियां के बारे में जानकारी देने वाला सेक्शन देखें.

बदलाव का आईडी: 266201607
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह ज़रूरी है कि वे हर MediaProjection कैप्चर सेशन से पहले, उपयोगकर्ता से सहमति लें.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 14 के व्यवहार में हुए बदलावों के बारे में बताने वाले पेज पर जाएं. यहां आपको इस बारे में जानकारी मिलेगी कि हर MediaProjection कैप्चर सेशन के लिए उपयोगकर्ता की सहमति लेना क्यों ज़रूरी है.

NATIVE_HEAP_ZERO_INIT

बदलाव का आईडी: 178038272
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

नेटिव हीप मेमोरी के लिए, अपने-आप ज़ीरो-इनिशियलाइज़ेशन की सुविधा चालू करें.

NATIVE_MEMTAG_ASYNC

बदलाव का आईडी: 145772972
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस प्रोसेस में, एसिंक्रोनस (ASYNC) मेमोरी टैग की जांच करने की सुविधा चालू करें. इस फ़्लैग का असर सिर्फ़ उन हार्डवेयर पर पड़ता है जो ARM Memory Tagging Extension (MTE) के साथ काम करते हैं.

NATIVE_MEMTAG_SYNC

बदलाव का आईडी: 177438394
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस प्रोसेस में, सिंक्रोनस (SYNC) मेमोरी टैग की जांच करने की सुविधा चालू करता है. इस फ़्लैग का असर सिर्फ़ उन हार्डवेयर पर पड़ता है जो ARM Memory Tagging Extension (MTE) के साथ काम करते हैं. अगर NATIVE_MEMTAG_ASYNC और यह विकल्प, दोनों चालू हैं, तो इस विकल्प को प्राथमिकता दी जाती है. साथ ही, एमटीई को सिंक मोड में चालू किया जाता है.

OVERRIDE_ANY_ORIENTATION

आईडी बदलें: 265464455
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस सुविधा के चालू होने पर, ओरिएंटेशन से जुड़े ये बदलाव लागू किए जा सकते हैं. भले ही, गतिविधि के लिए कोई भी ओरिएंटेशन चुना गया हो:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

बदलाव का आईडी: 191514214
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस सुविधा को चालू करने पर, जिन पैकेज पर इसे लागू किया जाता है वे android:resizeableActivity की मौजूदा वैल्यू को अनदेखा कर देते हैं. साथ ही, वे M या इससे पहले के वर्शन वाले टारगेट एसडीके को भी अनदेखा कर देते हैं. इसके अलावा, वे ऐक्टिविटी को रीसाइज़ नहीं किया जा सकने वाला मानते हैं. इस मामले में, कैमरा रोटेट करने और क्रॉप करने की वैल्यू सिर्फ़ ज़रूरी कंपंसेशन पर निर्भर करती है. साथ ही, यह मौजूदा डिसप्ले रोटेशन को ध्यान में रखकर तय की जाती है.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

आईडी बदलें: 189229956
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस सेटिंग को चालू करने पर, जिन पैकेज पर इसे लागू किया जाता है वे कैमरे को घुमाने और काटने के डिफ़ॉल्ट तरीके को बदल देते हैं. साथ ही, हमेशा CaptureRequest.SCALER_ROTATE_AND_CROP_NONE दिखाते हैं.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

बदलाव का आईडी: 266124927
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह कुकी, जिस ऐप्लिकेशन पर लागू होती है उसके लिए SCREEN_ORIENTATION_REVERSE_LANDSCAPE को चालू करती है. जब तक OVERRIDE_ANY_ORIENTATION भी चालू न हो, तब तक SCREEN_ORIENTATION_REVERSE_LANDSCAPE का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में लैंडस्केप ओरिएंटेशन तय किया गया हो. इस बदलाव को चालू करने से, आपको अपने ऐप्लिकेशन के काम करने के तरीके की जांच करने में मदद मिल सकती है. इससे यह पता लगाया जा सकता है कि लैंडस्केप ओरिएंटेशन वाले डिवाइसों में, Surface.ROTATION_90 और Surface.ROTATION_270 के बीच क्या अंतर है.

OVERRIDE_MIN_ASPECT_RATIO

बदलाव का आईडी: 174042980
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, उन सभी बदलावों को कंट्रोल करता है जिनके लिए कम से कम पहलू अनुपात तय करना ज़रूरी होता है. इस बदलाव को चालू करने पर, ये कम से कम पहलू अनुपात लागू किए जा सकते हैं:

किसी ऐप्लिकेशन पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन के मेनिफ़ेस्ट में दिए गए कम से कम आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को सबसे बड़े आसपेक्ट रेशियो से बदल दिया जाता है. ऐसा तब तक होता है, जब तक ऐप्लिकेशन के मेनिफ़ेस्ट में दी गई वैल्यू ज़्यादा न हो.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

बदला गया आईडी: 218959984
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस विकल्प को चालू करने पर, पोर्ट्रेट फ़ुलस्क्रीन में कम से कम आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की पाबंदी हट जाती है, ताकि स्क्रीन पर मौजूद पूरी जगह का इस्तेमाल किया जा सके.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

बदलाव का आईडी: 180326787
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जब OVERRIDE_MIN_ASPECT_RATIO भी चालू हो, तब किसी पैकेज के लिए इस बदलाव को चालू करने पर, गतिविधि का कम से कम आसपेक्ट रेशियो, OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE के तय किए गए बड़े वैल्यू पर सेट हो जाता है.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

बदलाव का आईडी: 180326845
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जब OVERRIDE_MIN_ASPECT_RATIO भी चालू होता है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, गतिविधि के कम से कम आसपेक्ट रेशियो को OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE के हिसाब से तय की गई मीडियम वैल्यू पर सेट किया जाता है.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

बदलाव का आईडी: 203647190
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए चालू है.

OVERRIDE_MIN_ASPECT_RATIO चालू होने पर, यह बदलाव उन अन्य बदलावों को सीमित करता है जिनकी वजह से किसी गतिविधि के कम से कम आसपेक्ट रेशियो को किसी खास वैल्यू पर सेट करना पड़ता है. जैसे, OVERRIDE_MIN_ASPECT_RATIO_LARGE और OVERRIDE_MIN_ASPECT_RATIO_MEDIUM. ऐसा उन गतिविधियों के लिए किया जाता है जिनमें पोर्ट्रेट ओरिएंटेशन भी होता है.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

बदलाव का आईडी: 236283604
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस सेटिंग को चालू करने पर, ओरिएंटेशन से जुड़ी पाबंदियों को अनदेखा करने की सुविधा से उन पैकेज को बाहर रखा जाता है जिन पर यह सुविधा लागू होती है. डिवाइस बनाने वाली कंपनियां, ओरिएंटेशन से जुड़ी पाबंदियां सेट कर सकती हैं.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

बदलाव का आईडी: 265451093
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह कुकी, जिस ऐप्लिकेशन पर लागू होती है उसके लिए SCREEN_ORIENTATION_NOSENSOR को चालू करती है. जब तक OVERRIDE_ANY_ORIENTATION भी चालू नहीं किया जाता, तब तक SCREEN_ORIENTATION_NOSENSOR का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में कोई अन्य ओरिएंटेशन तय न किया गया हो.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

बदलाव का आईडी: 265452344
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह कुकी, जिस ऐप्लिकेशन पर लागू होती है उसके लिए SCREEN_ORIENTATION_PORTRAIT को चालू करती है. जब तक OVERRIDE_ANY_ORIENTATION भी चालू नहीं किया जाता, तब तक SCREEN_ORIENTATION_PORTRAIT का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में कोई अन्य ओरिएंटेशन तय न किया गया हो.

RATE_LIMIT_TOASTS

बदलाव का आईडी: 174840628
डिफ़ॉल्ट स्थिति: इस बदलाव को टॉगल नहीं किया जा सकता. इसे सिर्फ़ कंपैटबिलिटी फ़्रेमवर्क लॉग करता है.

यह कुकी, Toast.show() कॉल की संख्या पर दर सीमा लागू करती है. इससे, कम समय में उपयोगकर्ता को बहुत ज़्यादा सूचनाएं दिखाने से रोका जा सकता है. किसी तय समयसीमा में, अनुमति से ज़्यादा सूचनाएं दिखाने की कोशिश करने पर, सूचनाएं खारिज कर दी जाती हैं.

REJECT_NEGATIVE_NETWORK_ESTIMATES

आईडी में बदलाव: 253665015
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

इस सुविधा के चालू होने पर, यह ज़रूरी है कि अनुमानित नेटवर्क बाइट की संख्या शून्य या उससे ज़्यादा हो.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

बदलाव का आईडी: 241104082
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू होती है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, होस्टिंग जॉब को नेटवर्क की पाबंदी के बारे में बताना होगा. ऐसा तब करना होगा, जब JobWorkItem में नेटवर्क के इस्तेमाल की जानकारी शामिल हो.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

बदलाव का आईडी: 271850009
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कनेक्टिविटी की शर्त के साथ कोई जॉब शेड्यूल करते समय, ऐप्लिकेशन को INTERNET और ACCESS_NETWORK_STATE, दोनों अनुमतियों के बारे में बताना ज़रूरी है.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

बदलाव का आईडी: 255371817
डिफ़ॉल्ट स्थिति: यह सुविधा उन ऐप्लिकेशन के लिए चालू है जो Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करते हैं.

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

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

USE_EXPERIMENTAL_COMPONENT_ALIAS

बदला गया आईडी: 196254758
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इसे चालू करने पर, सिस्टम "android" पैकेज को कॉम्पोनेंट के उपनाम इस्तेमाल करने की अनुमति देता है.