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

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

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

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

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

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

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

इस सेक्शन में दी गई सूची में, 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
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

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

NATIVE_MEMTAG_SYNC

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

इस प्रोसेस में, सिंक्रोनस (सिंक में काम करने वाली प्रोसेस) मेमोरी टैग की जांच करने की सुविधा चालू करता है. इस फ़्लैग का असर सिर्फ़ उन हार्डवेयर पर पड़ता है जो ARM मेमोरी टैगिंग एक्सटेंशन (एमटीई) के साथ काम करते हैं. अगर 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) या इससे पहले के वर्शन वाले टारगेट एसडीके को भी अनदेखा कर देते हैं. इसके अलावा, पैकेज में हुए बदलाव की वजह से ऐक्टिविटी को रीसाइज़ नहीं किया जा सकता. इस मामले में, कैमरा घुमाने और क्रॉप करने की वैल्यू सिर्फ़ ज़रूरी कंपंसेशन (बदलावों) पर निर्भर करती है. यह कंपंसेशन, डिसप्ले में हो रहे मौजूदा घुमाव को ध्यान में रखकर तय की जाती है.

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 में हुए बदलाव सेक्शन देखें.