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

FORCE_ENABLE_HEVC_SUPPORT

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

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

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 का इस्तेमाल करता है, भले ही डिवाइस पर एमईपी 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" पैकेज को कॉम्पोनेंट के दूसरे नाम इस्तेमाल करने की अनुमति देता है.