कंपैटबिलिटी फ़्रेमवर्क में हुए बदलाव (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 सेशन पैरामीटर के साथ काम करने की सुविधा की भी जांच करता है. ऐसा तब होता है, जब एचएएल के साथ काम करने की सुविधा चालू हो.

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) या इसके बाद के वर्शन को टारगेट करते हैं.

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

ENABLE_MATCH_LOCAL_NETWORK

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

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

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.nextInt() तरीकों की तुलना में संख्याओं का एक अलग क्रम दिखाते हैं. ऐसा https://bugs.openjdk.org/browse/JDK-8301574 में किए गए बदलावों की वजह से होता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, 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 में हुए बदलाव सेक्शन देखें.