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

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

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

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

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

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

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

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

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

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

ACCOUNT_ACCESS_CHECK_CHANGE_ID

बदलाव आईडी: 201794303
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, सिंक से जुड़े सभी एपीआई पर, कॉल करने वाले UID के लिए खाते का ऐक्सेस देखने की सुविधा चालू करता है.

ALLOW_COPY_SOLID_COLOR_VIEW

बदलाव का आईडी: 205907456
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, ऐप्लिकेशन को SplashScreen.OnExitAnimationListener.onSplashScreenExit(SplashScreenView) कॉलबैक तब भी मिल सकता है, जब स्प्लैश स्क्रीन पर सिर्फ़ एक रंग दिखता हो.

ALLOW_SECURE_ACTIVITY_DISPLAY_ON_REMOTE_DEVICE

बदलाव का आईडी: 201712607
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

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

BORINGLAYOUT_FALLBACK_LINESPACING

बदलाव आईडी: 210923482
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, BoringLayout के लिए फ़ॉलबैक टेक्स्ट लाइन स्पेसिंग (लाइन की ऊंचाई) चालू करता है.

CALL_REDIRECTION_AUDIO_MODES

बदलाव आईडी: 189472651
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कॉल के ऑडियो को दूसरे डिवाइस पर भेजने के लिए ऑडियो मोड का इस्तेमाल करने की अनुमति देता है.

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CLEAR_SHOW_FORCED_FLAG_WHEN_LEAVING

बदलाव आईडी: 214016041
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कॉलर पर फ़ोकस होने तक, SHOW_FORCED फ़्लैग का कोई असर नहीं पड़ता.

DEFER_BOOT_COMPLETED_BROADCAST_CHANGE_ID

बदलाव आईडी: 203704822
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, LOCKED_BOOT_COMPLETED और BOOT_COMPLETED ब्रॉडकास्ट को तब तक के लिए रोकें, जब तक कि यूआईडी में कोई प्रोसेस शुरू न हो जाए.

DISALLOW_DEADLINES_FOR_PREFETCH_JOBS

बदलाव आईडी: 194532703
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, पहले से लोड करने की प्रोसेस (JobInfo.Builder.setPrefetch(boolean)) के लिए, समयसीमा ( JobInfo.Builder.setOverrideDeadline(long) का इस्तेमाल करके) सेट करने की अनुमति नहीं है. प्रीफ़ेच जॉब, ऐप्लिकेशन के अगले लॉन्च के आस-पास चलने के लिए होते हैं. इसलिए, उनके लिए समयसीमा तय नहीं की जा सकती. हालांकि, सिस्टम पहले से शेड्यूल की गई, तय समयसीमा वाली किसी भी प्रीफ़ेच जॉब को नहीं छोड़ता या रद्द नहीं करता.

किसी ऐप्लिकेशन के लिए, तय समयसीमा के साथ, हमेशा शेड्यूल की गई प्रीफ़ेच जॉब को बनाए रखने का कोई तरीका नहीं है. तय समयसीमा के साथ प्रीफ़ेच करने के लिए शेड्यूल किए गए टास्क, चलेंगे. हालांकि, इस पाबंदी वाले ऐप्लिकेशन, तय समयसीमा के साथ प्रीफ़ेच करने के लिए नए टास्क शेड्यूल नहीं कर पाएंगे. अगर किसी जॉब को फिर से शेड्यूल करने के लिए, JobService.jobFinished(JobParameters, boolean) या JobService.onStopJob(JobParameters) की रिटर्न वैल्यू का इस्तेमाल करके true दिया जाता है, तो समयसीमा हटा दी जाती है. समय-समय पर होने वाले जॉब के लिए, सभी शर्तें पूरी करनी ज़रूरी हैं. इसलिए, ये पाबंदियां उनकी समयसीमा पर लागू नहीं होती हैं.

DOWNSCALED

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

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

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

DOWNSCALE_30

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

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

DOWNSCALE_35

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

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

DOWNSCALE_40

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

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

DOWNSCALE_45

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

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

DOWNSCALE_50

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

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

DOWNSCALE_55

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

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

DOWNSCALE_60

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

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

DOWNSCALE_65

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

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

DOWNSCALE_70

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

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

DOWNSCALE_75

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

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

DOWNSCALE_80

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

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

DOWNSCALE_85

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

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

DOWNSCALE_90

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

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

DUMP_IGNORES_SPECIAL_ARGS

बदलाव आईडी: 149254050
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, अगर dumpsys activity को कुछ खास आर्ग्युमेंट के साथ कॉल किया जाता है, तो dump(String, FileDescriptor, PrintWriter, String[]) को कॉल नहीं किया जाता.

DYNAMIC_RECEIVER_EXPLICIT_EXPORT_REQUIRED

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

इस विकल्प के चालू होने पर, ऐप्लिकेशन को कोड में सुरक्षित नहीं किए गए ब्रॉडकास्ट के लिए, रिसीवर को रजिस्टर करते समय, Context.RECEIVER_EXPORTED या Context.RECEIVER_NOT_EXPORTED में से किसी एक को साफ़ तौर पर सेट करना होगा.

ज़्यादा जानने के लिए, कॉन्टेक्स्ट के हिसाब से रजिस्टर किए गए रिसीवर को ज़्यादा सुरक्षित तरीके से एक्सपोर्ट करना सेक्शन देखें.

ENABLE_PENDING_INTENT_BAL_OPTION

बदलाव आईडी: 192341120
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

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

ENABLE_SIMPLIFIED_DARK_MODE

बदलाव आईडी: 214741472
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, वेब कॉन्टेंट को ऐप्लिकेशन की थीम के हिसाब से हल्का या गहरा रंग लागू करने की अनुमति मिलती है. साथ ही, वेबव्यू को ज़रूरत पड़ने पर, एल्गोरिदम की मदद से वेब कॉन्टेंट को गहरा करने की कोशिश करने की अनुमति मिलती है. ज़्यादा जानकारी के लिए, setAlgorithmicDarkeningAllowed(boolean) देखें.

ENABLE_TOUCH_OPAQUE_ACTIVITIES

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

Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन पर चलने वाले ऐप्लिकेशन के लिए, ऐक्टिविटी के टास्क बाउंड में सभी टच का इस्तेमाल होता है.

ENABLE_USE_EXACT_ALARM

बदलाव आईडी: 218533173
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कुछ तरह के ऐप्लिकेशन को सटीक अलार्म शेड्यूल करने के लिए, Manifest.permission.USE_EXACT_ALARM का इस्तेमाल करने की अनुमति मिलती है.

ENFORCE_INTENTS_TO_MATCH_INTENT_FILTERS

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

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

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

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

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

FORCE_RESIZE_APP

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

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

GET_API_SIGNATURES_FROM_UICC_PORT_INFO

बदलाव आईडी: 202110963
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

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

GWP_ASAN

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

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

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

ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE

बदलाव आईडी: 208739934
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, अब जब भी आईसीसी चैनल को बंद करने का ऑपरेशन पूरा नहीं होता, तो एक अपवाद दिखता है.

MEDIA_CONTROL_SESSION_ACTIONS

बदलाव आईडी: 203800354
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

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

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

NATIVE_HEAP_ZERO_INIT

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

नेटिव हीप मेमोरी ऐलोकेशन को अपने-आप शून्य पर सेट करने की सुविधा चालू करें.

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

NOTIFICATION_LOG_ASSISTANT_CANCEL

बदलाव आईडी: 195579280
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

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

NOTIFICATION_PERM_CHANGE_ID

बदलाव आईडी: 194833441
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

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

इस बदलाव के बारे में ज़्यादा जानने के लिए, सूचना के लिए रनटाइम की अनुमति से जुड़ा नया पेज देखें.

NOTIFICATION_TRAMPOLINE_BLOCK_FOR_EXEMPT_ROLES

बदलाव आईडी: 227752274
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, Activity सूचना के जवाब में ब्रॉडकास्ट रिसीवर या सेवाओं से मिलने लगता है. साथ ही, सूचना पर की गई कार्रवाई के क्लिक को यूज़र एक्सपीरियंस और परफ़ॉर्मेंस की वजहों से, पहले से छूट पाने वाले भूमिकाओं (ब्राउज़र) के लिए ब्लॉक कर दिया जाता है.

OVERRIDABLE_COMPONENT_CALLBACKS

बदलाव आईडी: 193247900
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, registerComponentCallbacks(ComponentCallbacks) हमेशा getApplicationContext() में जोड़ने के बजाय, Activity या ContextWrapper.getBaseContext() में ComponentCallbacks जोड़ता है.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

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

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

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

OVERRIDE_MIN_ASPECT_RATIO

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

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

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

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

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

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

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

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

RATE_LIMIT_TOASTS

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

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

REQUEST_LISTENING_MUST_MATCH_PACKAGE

बदलाव आईडी: 172251878
डिफ़ॉल्ट स्थिति: Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कॉल करने वाला ऐप्लिकेशन TileService.requestListeningState(Context, ComponentName) जांच करता है कि कॉल करने वाला पैकेज (यूआईडी) और टारगेट किए गए ऐप्लिकेशन का पैकेज ComponentName मैच करता है या नहीं. सिस्टम यह भी जांच करता है कि इस्तेमाल किए गए कॉन्टेक्स्ट से, मौजूदा उपयोगकर्ता की ओर से कार्रवाइयां की जा सकती हैं या नहीं.

RETURN_ADVANCED_VIDEO_PROFILES

बदलाव का आईडी: 206033068
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह कंट्रोल करता है कि getAll(String, int) से किस तरह की वीडियो प्रोफ़ाइलें मिलें.

SHOULD_RESOLVE_PORT_INDEX_FOR_APPS

बदलाव का आईडी: 224562872
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, सिम कार्ड को अलग-अलग पोर्ट पर एक से ज़्यादा चालू प्रोफ़ाइलें (एमईपी) चालू करने की अनुमति मिलती है. एपीआई लेवल 32 या इससे पहले के लेवल को टारगेट करने वाले ऐप्लिकेशन के लिए, पुराने सिस्टम के साथ काम करने की सुविधा बनाए रखने के लिए, जब कोई ऐप्लिकेशन switchToSubscription को कॉल करता है या पोर्ट इंडेक्स बताए बिना एपीआई डाउनलोड करता है, तो सिस्टम हमेशा पोर्ट इंडेक्स 0 का इस्तेमाल करके, मौजूदा व्यवहार को बनाए रखता है. भले ही, डिवाइस में MEP eUICC चालू हो.

SWITCH_WITHOUT_PORT_INDEX_EXCEPTION_ON_DISABLE

बदलाव आईडी: 218393363
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, अगर सदस्यता बंद करने के लिए portIndex के बिना switchToSubscription() को कॉल किया जाता है, तो सिस्टम एक अपवाद दिखाता है.

THROW_ON_INVALID_PRIORITY_VALUE

बदलाव आईडी: 140852299
डिफ़ॉल्ट स्थिति: यह Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, अगर कोई ऐप्लिकेशन JobInfo.Builder.setPriority(int) का इस्तेमाल करके, प्राथमिकता की अमान्य वैल्यू देता है, तो सिस्टम एक अपवाद दिखाता है. हो सकता है कि लेगसी ऐप्लिकेशन, एपीआई का गलत तरीके से इस्तेमाल कर रहे हों. इसलिए, अगर वे एपीआई का इस्तेमाल करना जारी रखते हैं, तो कॉल चुपचाप बंद हो जाता है.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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