कंपैटबिलिटी फ़्रेमवर्क में हुए बदलाव (Android 15)

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

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

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

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

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

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

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

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

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

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

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

इस सेटिंग के चालू होने पर, isSessionConfigurationSupported सेशन पैरामीटर की कंपैटिबिलिटी की भी जांच करता है. ऐसा तब होता है, जब HAL इसे सपोर्ट करता है.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

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

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

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

DEPRECATE_UI_FONT

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

इस सुविधा को चालू करने पर, Android 15 या इसके बाद के वर्शन वाले डिवाइस पर आपका ऐप्लिकेशन चलने के दौरान, elegantTextHeight TextView एट्रिब्यूट डिफ़ॉल्ट रूप से true हो जाता है. इससे, डिफ़ॉल्ट रूप से इस्तेमाल किए जाने वाले कॉम्पैक्ट फ़ॉन्ट की जगह, ऐसी स्क्रिप्ट का इस्तेमाल किया जाता है जिनकी वर्टिकल मेट्रिक बड़ी होती है. इससे टेक्स्ट को आसानी से पढ़ा जा सकता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों के पेज पर जाएं. इसके बाद, elegantTextHeight एट्रिब्यूट की डिफ़ॉल्ट वैल्यू true पर सेट है सेक्शन देखें.

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% है.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

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

इस सुविधा के चालू होने पर, Arrays.asList(...).toArray() का इस्तेमाल करते समय, नतीजे के तौर पर मिलने वाली ऐरे का कॉम्पोनेंट टाइप अब Object है. यह, अंडरलाइंग ऐरे के एलिमेंट का टाइप नहीं है. इसलिए, यहां दिया गया कोड ClassCastException दिखाता है:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

इस मामले में, नतीजे के तौर पर मिले ऐरे में String को कॉम्पोनेंट टाइप के तौर पर बनाए रखने के लिए, Collection.toArray(Object[]) का इस्तेमाल किया जा सकता है:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों के बारे में बताने वाले पेज पर जाएं. इसके बाद, OpenJDK API में हुए बदलाव सेक्शन पर जाएं.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

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

इस सुविधा को चालू करने पर, मौजूदा ऐप्लिकेशन को ClientTransaction#getActivityToken() के एसडीके से अलग इस्तेमाल करने पर, ऐप्लिकेशन की संगतता से जुड़ी समस्याओं से बचाने के लिए, सिर्फ़ LaunchActivityItem को बंडल करने की अनुमति दें.

ENABLE_MATCH_LOCAL_NETWORK

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

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

ENABLE_STRICT_FORMATTER_VALIDATION

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

इस सुविधा के चालू होने पर, String.format() और Formatter.format() एपीआई का इस्तेमाल करते समय, आर्ग्युमेंट इंडेक्स, फ़्लैग, चौड़ाई, और सटीक जानकारी की पुष्टि करने के लिए ज़्यादा कड़े नियम लागू होते हैं.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों के बारे में बताने वाले पेज पर जाएं. इसके बाद, OpenJDK API में हुए बदलाव सेक्शन पर जाएं.

ENFORCE_EDGE_TO_EDGE

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

यह सुविधा चालू करने पर, Android 15 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर ऐप्लिकेशन डिफ़ॉल्ट रूप से एज-टू-एज दिखेंगे.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों के बारे में जानकारी देने वाले पेज पर जाएं. इसके बाद, एज-टू-एज लेआउट लागू करने की सुविधा के बारे में जानकारी देने वाला सेक्शन देखें.

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

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

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

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

FGS_INTRODUCE_TIME_LIMITS

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

इस सुविधा के चालू होने पर, कुछ टाइप की फ़ोरग्राउंड सेवाओं के लिए समयसीमा तय होती है. अगर तय समयसीमा के अंदर, पाबंदी वाली फ़ोरग्राउंड सेवा को बंद नहीं किया जाता है, तो Service.onTimeout(int, int) का इस्तेमाल करके उसे कॉलबैक मिलेगा. इसके बाद, उसे कुछ सेकंड के अंदर बंद करना होगा. अगर कोई ऐप्लिकेशन ऐसा नहीं करता है, तो उसे ANR घोषित कर दिया जाएगा.

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

FGS_SAW_RESTRICTIONS

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

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

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

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 गाइड देखें.

IS_DEVICE_OWNER_USER_AWARE

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

इस सुविधा के चालू होने पर, isDeviceOwnerApp(String) तरीके से, कॉन्टेक्स्ट में मौजूद उपयोगकर्ता का इस्तेमाल किया जाएगा. Android 14 (एपीआई लेवल 34) या इससे पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कॉल करने वाले उपयोगकर्ता का इस्तेमाल किया जाएगा (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

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

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

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों के बारे में जानकारी देने वाले पेज पर जाएं. इसके बाद, ऐप्लिकेशन के लिए, 'परेशान न करें' मोड की ग्लोबल स्थिति में बदलाव करने की सुविधा से जुड़े बदलाव के बारे में जानकारी देने वाला सेक्शन देखें.

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_ANY_ORIENTATION_TO_USER

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

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

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

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

फ़्री-फ़ॉर्म विंडो मोड में, ऐप्लिकेशन को पोर्ट्रेट डिवाइस पर चलाने की सुविधा मिलती है. इसके लिए, ऐप्लिकेशन की विंडो में लेटरबॉक्सिंग की जाती है. साथ ही, कैमरे की विशेषताओं को पोर्ट्रेट डिवाइस के हिसाब से बदला जाता है. जैसे, पीछे और सामने वाले कैमरे के लिए सेंसर रोटेशन को क्रमशः 90 और 270 डिग्री पर सेट किया जाता है. साथ ही, डिसप्ले रोटेशन को 0 पर सेट किया जाता है.

इस फ़्लैग का इस्तेमाल उन ऐप्लिकेशन के लिए, कंपैटिबिलिटी ट्रीटमेंट को बंद करने के लिए करें जो ट्रीटमेंट के साथ ठीक से काम नहीं करते.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

इस बदलाव को चालू करने पर, जिन पैकेज पर इसे लागू किया जाता है वे android:resizeableActivity की मौजूदा वैल्यू को अनदेखा कर देते हैं. साथ ही, वे Android 6.0 (एपीआई लेवल 23) या इससे पहले के वर्शन वाले टारगेट SDK को भी अनदेखा कर देते हैं. इसके अलावा, वे गतिविधि को रीसाइज़ नहीं किया जा सकने वाली गतिविधि के तौर पर मानते हैं. इस मामले में, कैमरा रोटेट करने और क्रॉप करने की वैल्यू सिर्फ़ ज़रूरी कंपंसेशन पर निर्भर करती है. यह कंपंसेशन, डिसप्ले के मौजूदा रोटेशन के हिसाब से तय होता है.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

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

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

इस सेटिंग को चालू करने पर, यह पक्का किया जाता है कि MediaProjection सेशन शुरू करते समय, उपयोगकर्ताओं को किसी एक ऐप्लिकेशन या पूरी स्क्रीन को कैप्चर करने का विकल्प मिले. इससे MediaProjectionConfig#createConfigForDefaultDisplay के इस्तेमाल को अनदेखा किया जाता है.

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_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

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

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_ONLY_FOR_CAMERA

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

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

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 का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में कोई अन्य ओरिएंटेशन तय न किया गया हो.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

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

इस सेटिंग को चालू करने पर, RFC 6266 के मुताबिक Content-Disposition हेडर को पार्स किया जा सकता है. खास तौर पर, इससे filename* वैल्यू को पार्स किया जा सकता है. इसके लिए, अलग-अलग कैरेक्टर एन्कोडिंग का इस्तेमाल किया जा सकता है.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

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

इस सुविधा के चालू होने पर, Random.ints() तरीके अब Random.ints() तरीकों से अलग क्रम में संख्याएं दिखाते हैं. यह बदलाव, https://bugs.openjdk.org/browse/JDK-8301574 में किए गए बदलावों के मुताबिक है.Random.nextInt()

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों के बारे में बताने वाले पेज पर जाएं. इसके बाद, OpenJDK API में हुए बदलाव सेक्शन पर जाएं.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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

USE_NEW_ISO_LOCALE_CODES

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

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

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों के बारे में बताने वाले पेज पर जाएं. इसके बाद, OpenJDK API में हुए बदलाव सेक्शन पर जाएं.