تغییرات چارچوب سازگاری (Android 12)

شکل 1 . صفحه تغییرات سازگاری برنامه در گزینه‌های برنامه‌نویس، تغییراتی را که می‌توانید تغییر دهید فهرست می‌کند.

این صفحه هر تغییر رفتاری را که بخشی از چارچوب سازگاری در Android 12 است (سطح API 31) توضیح می‌دهد. از این لیست همراه با گزینه های توسعه دهنده و دستورات ADB برای آزمایش و اشکال زدایی برنامه خود در حین آماده شدن برای پشتیبانی و هدف قرار دادن اندروید 12 استفاده کنید.

در اینجا برخی از کارهایی وجود دارد که می توانید با استفاده از ابزارهای چارچوب سازگاری انجام دهید:

  • تغییرات هدفمند را بدون تغییر در targetSdkVersion برنامه آزمایش کنید . می‌توانید از دکمه‌ها برای فعال کردن تغییرات رفتار هدفمند خاص برای ارزیابی تأثیر بر برنامه موجود خود استفاده کنید.
  • آزمایش خود را فقط بر روی تغییرات خاص متمرکز کنید . به جای پرداختن به همه تغییرات هدفمند به یکباره، ضامن ها به شما این امکان را می دهند که همه تغییرات هدفمند را غیرفعال کنید، به جز آنهایی که می خواهید آنها را آزمایش کنید.
  • ضامن ها را از طریق adb مدیریت کنید . می توانید از دستورات adb برای فعال و غیرفعال کردن تغییرات قابل تغییر در محیط تست خودکار خود استفاده کنید.
  • با استفاده از شناسه های تغییر استاندارد سریعتر اشکال زدایی کنید . تغییرات قابل تغییر هر کدام یک شناسه و نام منحصر به فرد دارند که می توانید از آنها برای رفع سریع علت اصلی در خروجی گزارش استفاده کنید.

برای جزئیات کامل در مورد استفاده از ابزار برای هر یک از این موارد استفاده، به ابزارهای چارچوب سازگاری مراجعه کنید.

تغییرات رفتاری که در چارچوب سازگاری گنجانده شده است

فهرست موجود در این بخش، هر تغییر رفتاری را که در چارچوب سازگاری اندروید 12 گنجانده شده است، توضیح می‌دهد.

می توانید لیست تغییرات را بر اساس حالت پیش فرض فیلتر کنید.

تغییرات رفتاری به چارچوب سازگاری در اندروید 12 اضافه شد

ALWAYS_SANDBOX_DISPLAY_APIS

شناسه تغییر: 185004937
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

هنگامی که فعال باشد، جعبه‌شنودی Display API را بدون در نظر گرفتن حالت پنجره، روی یک بسته اعمال می‌کند. APIهای Display همیشه محدوده برنامه را ارائه می دهند.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به روش‌های نمایشی که منسوخ شده‌اند در صفحه تغییرات رفتار Android 12 مراجعه کنید.

AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER

شناسه تغییر: 163400105
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار می‌دهند فعال است.

با شروع Android 12، این پلتفرم می‌تواند پیشنهادات غیر متنی (مانند تصاویر) را با استفاده از چارچوب تکمیل خودکار ارائه دهد (به خدمات تکمیل خودکار مراجعه کنید). برای اینکه یک برنامه بتواند این پیشنهادات را مدیریت کند، معمولاً باید OnReceiveContentListener API را اجرا کند.

برای اینکه پذیرش این API برای برنامه‌هایی که قبلاً API InputConnection.commitContent(InputContentInfo, int, Bundle) روان‌تر کرده‌اند، راحت‌تر کنیم، اگر OnReceiveContentListener هنوز توسط برنامه پیاده‌سازی نشده باشد، از آن API به عنوان یک بازگشت استفاده مجدد می‌کنیم. این بازگشتی فقط در اندروید 12 (سطح API 31) فعال است. این شناسه تغییر، بازگشت را غیرفعال می‌کند، به طوری که برنامه‌هایی که Android 12 (سطح API 32) و بالاتر را هدف قرار می‌دهند، باید OnReceiveContentListener API را اجرا کنند تا پیشنهادات غیر متنی را بپذیرند.

BLOCK_FLAG_SLIPPERY

شناسه تغییر: 157929241
حالت پیش فرض : برای همه برنامه ها فعال است.

برای برنامه‌هایی که روی Android 12 اجرا می‌شوند (سطح API 31)، بررسی می‌کند که آیا FLAG_SLIPPERY با هر پنجره‌ای در برنامه استفاده می‌شود یا خیر. ما انتظار داریم که این پرچم فقط توسط اجزای سیستم استفاده شود زیرا یک فیلد پشتیبانی نشده است. اگر چنین باشد، محدود خواهد شد.

BLOCK_GPS_STATUS_USAGE

شناسه تغییر: 144027538
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، همه استفاده‌های GpsStatus API باید با GnssStatus API جایگزین شوند.

BLOCK_IMMUTABLE_PENDING_INTENTS

شناسه تغییر: 171317480
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، غیرقابل تغییر است اشیاء PendingIntent که به APIهای مکان ارسال می شوند، یک IllegalArgumentException.

BLOCK_PENDING_INTENT_SYSTEM_API_USAGE

شناسه تغییر: 169887240
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، APIهای سیستم LocationRequest را نمی‌توان با درخواست‌های مکان PendingIntent استفاده کرد.

BLOCK_UNTRUSTED_TOUCHES

شناسه تغییر: 158002302
حالت پیش فرض : برای همه برنامه ها فعال است.

برای حفظ امنیت سیستم و تجربه کاربری خوب، اندروید 12 از مصرف رویدادهای لمسی در برنامه‌ها جلوگیری می‌کند، جایی که یک پوشش برنامه را به روشی ناامن مسدود می‌کند.

برای کسب اطلاعات بیشتر درباره این تغییر، به رویدادهای لمسی غیرقابل اعتماد مسدود شده‌اند مراجعه کنید.

CALL_ACTIVITY_RESULT_BEFORE_RESUME

تغییر شناسه: 78294732
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 32) و بالاتر را هدف قرار می‌دهند، چرخه عمر نتیجه فعالیت را تصحیح می‌کند تا تضمین کند که یک فعالیت درست قبل از ازسرگیری نتیجه فعالیت را دریافت می‌کند.

CAMERA_MIC_INDICATORS_NOT_PRESENT

شناسه تغییر: 162547999
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

نشان می دهد که این دستگاه از نشانگرهای دوربین و میکروفون پشتیبانی می کند. در صورت وجود false خواهد بود، زیرا اگر شناسه تغییر وجود نداشته باشد، متد CompatChanges#isChangeEnabled true را برمی گرداند.

CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS

شناسه تغییر: 146211400
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 32) و بالاتر را هدف قرار می‌دهند، در صورت وجود گروه‌های مجوز نادرست، مدیر بسته بسته‌ای را نصب نمی‌کند. گروه‌های مجوز فقط باید بین برنامه‌هایی که گواهی را به اشتراک می‌گذارند به اشتراک گذاشته شود. اگر مجوز متعلق به یک گروه باشد، آن گروه نیز باید تعریف شود.

CHANGE_ID_AUTH_STATE_DENIED

شناسه تغییر: 181350407
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌های سرویس گیرنده‌ای که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، هنگامی که در وضعیت مجوز رد شده هستند و تلاش می‌کنند پیامی به یک برنامه نانو ارسال کنند، یک SecurityException داده می‌شود.

CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION

شناسه تغییر: 136069189
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، وقتی مجوز HIGH_SAMPLING_RATE_SENSORS ندارند، در حالت اشکال‌زدایی اجرا می‌شوند و نرخ‌های نمونه‌گیری سریع‌تر از 200 هرتز را درخواست می‌کنند، یک SecurityException داده می‌شود.

DELIVER_HISTORICAL_LOCATIONS

شناسه تغییر: 73144566
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، مشتریان مکان ممکن است تحت شرایطی مکان‌های تاریخی (از قبل از زمان کنونی) را دریافت کنند.

DISPLAY_INFO_NR_ADVANCED_SUPPORTED

تغییر شناسه: 181658987
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، برای تغییرات در TelephonyDisplayInfo سازگاری با عقب را فراهم می‌کند.

DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE

شناسه تغییر: 170503758
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، پلتفرم ممکن است نرخ فریم برنامه را به مقسوم‌کننده‌ای از نرخ تازه‌سازی کاهش دهد، اگر ترجیح داده شود (به عنوان مثال، اگر برنامه به Surface.setFrameRate(float, int) فراخوانی شود. Surface.setFrameRate(float, int) ). برنامه‌ها تماس‌های Choreographer.postFrameCallback(Choreographer.FrameCallback) و فشار برگشتی را با نرخ فریم پایین‌تر تجربه خواهند کرد. برنامه ها از Display.getRefreshRate() و Display.Mode.getRefreshRate() استفاده می کنند تا بدانند نرخ تازه سازی نمایشگر چقدر است. Display.getRefreshRate() همیشه نرخ فریم برنامه را برمی‌گرداند و نه نرخ تازه‌سازی فیزیکی نمایشگر را تا به برنامه‌ها اجازه دهد تا سرعت فریم را به درستی انجام دهند. Display.Mode.getRefreshRate() نرخ فریم برنامه را در صورتی که به نسخه قبلی کامپایل شده باشد برمی گرداند و با Android 12 (سطح API 31) شروع می شود، نرخ تازه سازی نمایشگر فیزیکی را برمی گرداند.

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 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا می‌شود.

DO_NOT_DOWNSCALE_TO_1080P_ON_TV

شناسه تغییر: 157629738
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برنامه‌های Android TV که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، انتظار می‌رود هر اندازه پنجره، از جمله اندازه‌های پنجره بزرگتر از 1080p را مدیریت کنند. برنامه هایی که نسخه های قبلی اندروید را هدف قرار می دهند انتظار ندارند ویندوز بزرگتر از 1080p دریافت کنند، بنابراین در صورت لزوم ویندوز آنها به 1080p کاهش می یابد.

DROP_CLOSE_SYSTEM_DIALOGS

تغییر شناسه: 174664120
حالت پیش فرض : برای همه برنامه ها فعال است.

برای بهبود کنترل کاربر هنگام تعامل با برنامه‌ها و سیستم، اقدام قصد ACTION_CLOSE_SYSTEM_DIALOGS از Android 12 منسوخ شده است.

برای کسب اطلاعات بیشتر درباره این تغییر، به برنامه ها نمی توانند گفتگوهای سیستم را ببندند مراجعه کنید.

ENABLE_CHECKS_FOR_PRIVATE_FILES

شناسه تغییر: 172100307
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، نمی‌توانند فایل‌های خصوصی را با استفاده از ارائه‌دهنده رسانه وارد یا به‌روزرسانی کنند.

ENABLE_DEFERRED_SCAN

شناسه تغییر: 180326732
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای به تعویق انداختن اسکنی که به عنوان بخشی از MediaProvider#update() فعال می شود، این گزینه را فعال کنید.

ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION

شناسه تغییر: 157233955
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، محافظت READ_PHONE_STATE را در APIهایی که درخواست می‌کنند و وضعیت تماس را اعلان می‌کنند، مانند TelecomManager#getCallState ، TelephonyManager.getCallStateForSubscription() و TelephonyCallback.CallStateListener فعال می‌کند.

ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION

شناسه تغییر: 183407956
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، محافظت‌های READ_PHONE_NUMBERS یا READ_PRIVILEGED_PHONE_STATE را در getPhoneAccount(PhoneAccountHandle) فعال می‌کند.

ENABLE_INCLUDE_ALL_VOLUMES

شناسه تغییر: 182734110
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

این گزینه را فعال کنید تا ردیف‌های پایگاه داده از فایل‌هایی را که اخیراً نصب نشده‌اند در MediaProvider#query شامل شود.

ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS

شناسه تغییر: 178209446
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

این گزینه را فعال کنید تا به برنامه‌هایی که مجوز Manifest.permission.MANAGE_EXTERNAL_STORAGE را دارند اجازه درخواست دسترسی به حافظه خارجی خام را بدهند.

ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS

شناسه تغییر: 185199076
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، همه هشدارهای غیردقیق باید دارای حداقل اندازه پنجره باشند که انتظار می‌رود در حد چند دقیقه باشد. عملاً، هر آلارمی که به پنجره‌های کوچک‌تر نیاز دارد، همان آلارم‌های دقیق است و باید از APIهای ارائه‌شده مربوطه مانند setExact(int, long, PendingIntent) استفاده کند. هشدار غیر دقیق با پنجره‌های کوتاه‌تر مشخص شده، پنجره‌های آن‌ها توسط سیستم کشیده می‌شود.

ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES

شناسه تغییر: 142191088
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، باید وابستگی‌هایی را به کتابخانه‌های مشترک بومی عمومی که توسط سازنده دستگاه با استفاده از برچسب uses-native-library در AndroidManifest.xml تعریف شده است، اعلام کنند. اگر هر یک از وابستگی ها برآورده نشود - برای مثال، یکی از وابستگی ها وجود نداشته باشد - مدیر بسته برنامه را نصب نمی کند. وابستگی را می توان با استفاده از ویژگی android:required در تگ به عنوان اختیاری تعیین کرد، در این صورت عدم ارضای وابستگی، نصب را متوقف نمی کند.

پس از نصب، یک برنامه فقط با کتابخانه های مشترک بومی که در مانیفست برنامه مشخص شده اند ارائه می شود. فراخوانی dlopen در یک کتابخانه مشترک بومی که در مانیفست برنامه ظاهر نمی‌شود، حتی اگر واقعاً در دستگاه وجود داشته باشد، انجام نمی‌شود.

ENFORCE_STRICT_QUERY_BUILDER

شناسه تغییر: 143231523
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، SQLiteQueryBuilder تمام انتخاب‌های جستجوی CalendarProvider2 را در برابر آرگومان‌های مخرب تأیید می‌کند.

FGS_BG_START_RESTRICTION_CHANGE_ID

شناسه تغییر: 170668199
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، زمانی را که برنامه‌ها می‌توانند خدمات پیش‌زمینه را هنگام اجرا در پس‌زمینه راه‌اندازی کنند، محدود می‌کند.

FGS_START_EXCEPTION_CHANGE_ID

شناسه تغییر: 174041399
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، سیستم را قادر می‌سازد تا در صورتی که برنامه‌ای در حال اجرا در پس‌زمینه، یک سرویس پیش‌زمینه راه‌اندازی کند، یک IllegalStateException ایجاد کند.

FINISH_INPUT_NO_FALLBACK_CONNECTION

شناسه تغییر: 156215187
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، وقتی دستگاه non-interactive شد، InputConnection تمام کنید.

اگر با input method فعلی فعال شود، هر زمان که دستگاه‌ها غیرتعاملی شوند، اتصال ورودی فعلی finished می‌شود.

اگر فعال نباشد، در عوض وقتی دستگاه‌ها غیرتعاملی شوند، اتصال ورودی فعلی به‌طور بی‌صدا غیرفعال می‌شود و هنگامی که دستگاه دوباره تعاملی می‌شود، یک جفت onFinishInput() و onStartInput() ارسال می‌شود.

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
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

بسته هایی را که روی آنها اعمال می شود مجبور می کند قابل تغییر اندازه باشند. ما فقط اجازه تغییر اندازه را در حالت پنجره تمام صفحه می دهیم، اما برنامه را مجبور به تغییر اندازه در حالت چند پنجره ای نمی کنیم.

HIDE_PROP_ICUBINARY_DATA_PATH

شناسه تغییر: 171979766
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، دسترسی به ویژگی android.icu.impl.ICUBinary.dataPath را حذف می‌کند.

IGNORE_ALLOW_BACKUP_IN_D2D

شناسه تغییر: 183147249
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، android:allowBackup برای برنامه‌ها در حین انتقال دستگاه به دستگاه (D2D) نادیده گرفته می‌شود.

IGNORE_FULL_BACKUP_CONTENT_IN_D2D

شناسه تغییر: 180523564
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، قوانین مشخص‌شده با استفاده از android:fullBackupContent در حین انتقال دستگاه به دستگاه (D2D) نادیده گرفته می‌شود.

IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY

شناسه تغییر: 169273070
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، getSupportedLocales() اکنون یک لیست محلی خالی را زمانی که تنظیم نشده است، به‌جای منطقه محلی پیش‌فرض سیستم برمی‌گرداند.

IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE

شناسه تغییر: 158482162
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، مجوز BACKUP مورد نیاز برای isBackupServiceActive() در سمت سرویس به جای سمت کلاینت در BackupManager اعمال می‌شود.

KEYSTORE_OPERATION_CREATION_MAY_FAIL

تغییر شناسه: 169897160
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

در صورت فعال بودن، ایجاد عملیات ذخیره‌سازی کلید ممکن است طبق استراتژی هرس جدید با شکست مواجه شود. Keystore با این فرض کار می کرد که ایجاد عملیات رمزنگاری همیشه موفق است. با این حال، Backend KeyMint تنها تعداد محدودی اسلات عملیاتی دارد.

به منظور حفظ ظاهر اسلات‌های عملیاتی «بی‌نهایت»، شبح Keystore حداقل‌ترین عملیات‌هایی را که اخیراً استفاده شده‌اند، در صورتی که اسلات عملیاتی موجود وجود نداشته باشد، هرس می‌کند. در نتیجه، عملیات خوب می تواند پیش از موعد خاتمه یابد. با این کار، AndroidKeystore به انکار سرویس (DoS) و قفل زنده ناخواسته باز شد. به عنوان مثال، اگر چندین برنامه به طور همزمان به دلیل بهینه سازی مدیریت انرژی از خواب بیدار شوند و سعی در انجام عملیات رمزنگاری داشته باشند، بدون هیچ پیشرفتی شروع به خاتمه دادن به عملیات یکدیگر می کنند.

برای خروج از لایلاک و جلوگیری از تلاش‌های DoS، ما استراتژی هرس را به گونه‌ای تغییر داده‌ایم که مشتریانی را ترجیح می‌دهد که از اسلات‌های عملیاتی کمی استفاده می‌کنند. در نتیجه، عملیات تکی که بیش از 5 ثانیه غیر فعال نمی مانند، تقریباً همیشه با استراتژی هرس بدون مانع به پایان می رسند. هنوز برخی از عملیات مربوط به رمزگذاری سیستم فایل وجود دارد که می تواند حتی این عملیات را هرس کند، اما این موارد بسیار نادر هستند. به عنوان یک عارضه جانبی این عملیات استراتژی هرس جدید، اگر مشتری قدرت هرس کمتری نسبت به همه عملیات موجود داشته باشد، اکنون ایجاد می تواند شکست بخورد.

استراتژی هرس : برای یافتن یک نامزد مناسب، malus را برای تماس گیرنده و هر عملیات موجود محاسبه می کنیم. مالوس معکوس قدرت هرس (تماس دهنده) یا مقاومت هرس (عملیات موجود) است. برای اینکه تماس گیرنده بتواند یک عملیات را هرس کند، باید عملیاتی با مالوس بالاتر از خودش پیدا کند. برای جزئیات بیشتر در مورد استراتژی هرس، اجرای operation.rs را ببینید. در اندروید 11 (سطح API 30) و پایین‌تر، KeyStore2 شبح Keystore را برای یک اسلات عملیات رایگان نظرسنجی می‌کند. برای برنامه‌هایی که اندروید 11 (سطح API 30) و پایین‌تر را هدف قرار می‌دهند، همچنان به نظر می‌رسد که مقداردهی اولیه شی رمز و امضا همیشه موفقیت‌آمیز است – با این حال، ممکن است انجام عملیات بیشتر طول بکشد. همه نسخه‌های اندروید از زمان‌بندی شکاف عملیات منصفانه‌تر و شانس بهتری برای پایان موفقیت‌آمیز عملیات بهره می‌برند.

LOCK_DOWN_CLOSE_SYSTEM_DIALOGS

تغییر شناسه: 174664365
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، Intent.ACTION_CLOSE_SYSTEM_DIALOGS نمی‌تواند ارسال شود مگر اینکه برنامه دارای مجوز android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS باشد. توجه داشته باشید که این نسخه محدودتر #DROP_CLOSE_SYSTEM_DIALOGS است که انتظار دارد برنامه ارسال هدف Intent.ACTION_CLOSE_SYSTEM_DIALOGS را پس از شروع برنامه، Android 12 (سطح API 31) یا بالاتر را هدف قرار دهد.

LOCK_DOWN_COLLAPSE_STATUS_BAR

شناسه تغییر: 173031413
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، مجوز Manifest.permission.STATUS_BAR برای جمع کردن پانل‌های نوار وضعیت به دلایل امنیتی مورد نیاز است. این بدافزار برای جلوگیری از دسترسی کاربر به اعلان‌های مهم مورد سوء استفاده قرار می‌گرفت.

LOW_POWER_EXCEPTIONS

تغییر شناسه: 168936375
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، در صورتی که تماس‌گیرنده مجوز LOCATION_HARDWARE را نداشته باشد، به‌جای حذف بی‌صدا بخش کم مصرف درخواست، همه اشیاء LocationRequest به‌عنوان استثناهای پرتاب انرژی کم علامت‌گذاری می‌شوند.

MISSING_EXPORTED_FLAG

شناسه تغییر: 150232615
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، هر زمان که فیلتر هدف تعریف می‌شود، باید یک مقدار صریح برای ویژگی android:exported مشخص شود.

برای کسب اطلاعات بیشتر در مورد این تغییر، به صادرات ایمن‌تر اجزا مراجعه کنید.

NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE

شناسه تغییر: 207557677
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 32) و بالاتر را هدف قرار می‌دهند، تخصیص هیپ بومی در فرآیند AppZygote و فرزندان آن از یک برچسب غیر صفر در مهم‌ترین بایت استفاده می‌کنند.

برای کسب اطلاعات بیشتر در مورد این تغییر، به نشانگرهای برچسب‌گذاری شده مراجعه کنید.

NATIVE_HEAP_ZERO_INIT

شناسه تغییر: 178038272
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

فعال کردن صفر اولیه سازی خودکار تخصیص حافظه هیپ بومی.

NATIVE_MEMTAG_ASYNC

شناسه تغییر: 135772972
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

بررسی تگ حافظه ناهمزمان (ASYNC) را در این فرآیند فعال کنید. این پرچم فقط بر سخت افزار پشتیبانی کننده از برنامه افزودنی برچسب گذاری حافظه ARM (MTE) تأثیر می گذارد.

NATIVE_MEMTAG_SYNC

شناسه تغییر: 177438394
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

بررسی تگ حافظه همزمان (SYNC) را در این فرآیند فعال می کند. این پرچم فقط بر سخت افزار پشتیبانی کننده از برنامه افزودنی برچسب گذاری حافظه ARM (MTE) تأثیر می گذارد. اگر هم NATIVE_MEMTAG_ASYNC و هم این گزینه فعال باشند، این گزینه اولویت دارد و MTE در حالت SYNC فعال می شود.

NEVER_SANDBOX_DISPLAY_APIS

شناسه تغییر: 184838306
حالت پیش‌فرض : برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، مانع از اعمال سندباکس Display API به صندوق نامه یا فعالیت SCM می شود. Display APIها به ارائه محدوده DisplayArea ادامه خواهند داد.

برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به روش‌های نمایشی که منسوخ شده‌اند در صفحه تغییرات رفتار Android 12 مراجعه کنید.

NOTIFICATION_CANCELLATION_REASONS

شناسه تغییر: 175319604
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

به شنوندگان اعلان‌ها اجازه می‌دهد تا دلایل لغو جدید را که خاص‌تر هستند، درک کنند.

NOTIFICATION_TRAMPOLINE_BLOCK

تغییر شناسه: 167676448
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای بهبود عملکرد برنامه و UX، برنامه‌هایی که Android 12 را هدف قرار می‌دهند، نمی‌توانند از خدمات یا گیرنده‌های پخش به عنوان ترامپولین اعلان استفاده کنند.

برای کسب اطلاعات بیشتر در مورد این تغییر، به ترامپولین اعلان‌ها مراجعه کنید که نمی‌توان از سرویس‌ها یا گیرنده‌های پخش ایجاد کرد .

NULL_TELEPHONY_THROW_NO_CB

شناسه تغییر: 182185642
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای بررسی اینکه آیا نسخه SDK هدف برای فرآیند فعلی Android 12 (سطح API 31) یا بالاتر است یا خیر استفاده می شود.

برای روش های زیر اعمال می شود:

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 تعریف شده است، تنظیم می‌کند.

PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED

شناسه تغییر: 160794467
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، باید تغییرپذیری هر شی PendingIntent را که برنامه شما ایجاد می‌کند مشخص کنید. این نیاز اضافی امنیت برنامه شما را بهبود می بخشد.

برای کسب اطلاعات بیشتر در مورد این تغییر، نگاه کنید به اهداف معلق باید تغییرپذیری را اعلام کنند .

PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT

شناسه تغییر: 165573442
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برنامه‌های سرپرستی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، نمی‌توانند از DevicePolicyManager.setPasswordQuality(ComponentName, int) برای تنظیم کیفیت رمز عبور در نمونه DevicePolicyManager که با تماس با DevicePolicyManager.getParentProfileInstance(ComponentName) به دست می‌آید استفاده کنند. درعوض، آنها باید از DevicePolicyManager.setRequiredPasswordComplexity(int) استفاده کنند تا نیازهای رمز عبور درشت را در سطح دستگاه تنظیم کنند.

RATE_LIMIT_TOASTS

شناسه تغییر: 174840628
حالت پیش فرض : این تغییر را نمی توان تغییر داد. فقط توسط چارچوب سازگاری ثبت شده است.

محدود کردن نرخ تعداد تماس‌های Toast.show() را فعال می‌کند تا از بار بیش از حد کاربر با نان تست‌های زیاد در مدت زمان محدود جلوگیری کند. هر تلاشی برای نشان دادن نان تست های بیشتر از حد مجاز در یک بازه زمانی خاص منجر به دور انداختن نان تست می شود.

REQUIRE_EXACT_ALARM_PERMISSION

شناسه تغییر: 171306433
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، برنامه‌ها باید مجوز Manifest.permission.SCHEDULE_EXACT_ALARM را داشته باشند تا از هر API برای تنظیم هشدار دقیق استفاده کنند، مانند setExactAndAllowWhileIdle(int, long, PendingIntent) و setAlarmClock(AlarmClockInfo, PendingIntent) .

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID

تغییر شناسه: 182478738
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، برنامه‌ها باید مجوز Manifest.permission.READ_PHONE_STATE را داشته باشند تا بتوانند با TelephonyCallback.ActiveDataSubscriptionIdListener تماس بگیرند.

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO

شناسه تغییر: 184323934
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، برنامه‌ها باید مجوز Manifest.permission.READ_PHONE_STATE را داشته باشند تا بتوانند با TelephonyCallback.CellInfoListener تماس بگیرند.

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO

شناسه تغییر: 183164979
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، برنامه‌ها باید مجوز Manifest.permission.READ_PHONE_STATE را داشته باشند تا بتوانند با TelephonyCallback.DisplayInfoListener تماس بگیرند.

RESTRICT_ADB_BACKUP

شناسه تغییر: 171032338
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، adb backup به‌طور خودکار برای برنامه‌هایی که به‌صورت اشکال‌زدایی اجرا می‌شوند روشن می‌شود ( android:debuggable تنظیم شده روی true ) و برای هیچ برنامه دیگری در دسترس نیست.

RESTRICT_DOMAINS

شناسه تغییر: 175408749
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، فرم به‌روزرسانی شده API تأیید پیوندهای برنامه مورد نیاز است. این الزام به این معنی است که یک برنامه باید دامنه‌هایی را در داخل یک فیلتر هدف که شامل همه موارد زیر است، اعلام کند:

  • android:autoVerify="true"
  • Intent.ACTION_VIEW
  • Intent.CATEGORY_BROWSABLE
  • Intet.CATEGORY_DEFAULT
  • فقط IntentFilter.SCHEME_HTTP و/یا IntentFilter.SCHEME_HTTPS بدون هیچ طرح دیگری

در نسخه‌های قبلی Android، Intent.CATEGORY_BROWSABLE الزامی نبود، طرح‌های دیگر مجاز بودند، و تنظیم autoVerify روی true در هر فیلتر intent به طور ضمنی وانمود می‌کرد که همه فیلترهای هدف روی autoVerify="true" تنظیم شده‌اند.

SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE

شناسه تغییر: 151105954
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، تمام attributionTags ارسال شده به noteOp(String, int, String) ، noteProxyOp(String, String) و startOp(String, int, String) در مانیفست تعریف شده‌اند. بسته ای که به عنوان پارامتر متدها مشخص شده است.

برای فعال کردن این تغییر، هم بسته ای که noteOp(String, int, String) را فراخوانی می کند و هم بسته ای که به عنوان پارامتر متد مشخص شده است باید این تغییر را فعال کنند.

SELINUX_LATEST_CHANGES

شناسه تغییر: 143539591
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، آخرین تغییرات SELinux را انتخاب کنید. خاموش کردن این تغییر برای برنامه‌ای که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهد، غیرفعال است. برای برنامه هایی که از شناسه کاربری مشترک استفاده می کنند هیچ تاثیری ندارد.

SETTINGS_API_V2

شناسه تغییر: 178111421
حالت پیش فرض : برای همه برنامه ها فعال است.

API ترجیحی کاربر جدید برای تأیید دامنه‌های دارای علامت autoVerify=true در فیلترهای هدف AndroidManifest.xml هنوز در پیش‌نمایش پلتفرم فعلی پیاده‌سازی نشده است. در حال حاضر، با فعال کردن این ChangeId و استفاده از adb shell pm set-app-links-user-selection و دستورات مشابه، می‌توانید پیش‌نمایش تغییرات ترجیحی کاربر جدید را مشاهده کنید.

USE_SHORT_FGS_USAGE_INTERACTION_TIME

شناسه تغییر: 183972877
حالت پیش‌فرض : برای برنامه‌هایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android 12 (سطح API 31) و بالاتر را هدف قرار می‌دهند، تعیین می‌کند که آیا زمانی که برنامه‌ها سرویس پیش‌زمینه را شروع می‌کنند، قبل از اینکه سطل آماده به کار را به ACTIVE برسانید، از یک بازه زمانی کوتاه‌تر استفاده کنید یا خیر.