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

شکل ۱. صفحه «تغییرات سازگاری برنامه» در گزینه‌های توسعه‌دهنده تغییراتی را که می‌توانید تغییر دهید فهرست می‌کند.

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

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

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

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

تغییرات رفتاری موجود در چارچوب همسازی

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

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

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

ALWAYS_SANDBOX_DISPLAY_APIS

شناسه تغییر: ۱۸۵۰۰۴۹۳۷
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، جعبه امن Display API را بدون توجه به حالت پنجره‌بندی به بسته اعمال می‌کند. میاناهای برنامه‌سازی کاربردی «نمایش» همیشه مرزهای برنامه را ارائه خواهند داد.

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

AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER

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

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

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

BLOCK_FLAG_SLIPPERY

شناسه تغییر: ۱۵۷۹۲۹۲۴۱
وضعیت پیش‌فرض: برای همه برنامه‌ها فعال است.

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

BLOCK_GPS_STATUS_USAGE

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

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

BLOCK_IMMUTABLE_PENDING_INTENTS

شناسه تغییر: ۱۷۱۳۱۷۴۸۰
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف‌یابی می‌کنند، اشیاء تغییرناپذیر PendingIntent که به میاناهای برنامه‌سازی کاربردی مکان ارسال می‌شوند، IllegalArgumentException. تولید خواهند کرد

BLOCK_PENDING_INTENT_SYSTEM_API_USAGE

شناسه تغییر: ۱۶۹۸۸۷۲۴۰
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

برای برنامه‌هایی که Android نسخه ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف قرار می‌دهند، نمی‌توان از میاناهای برنامه‌سازی کاربردی سیستم LocationRequest با درخواست‌های مکان PendingIntent استفاده کرد.

BLOCK_UNTRUSTED_TOUCHES

شناسه تغییر: ۱۵۸۰۰۲۳۰۲
وضعیت پیش‌فرض: برای همه برنامه‌ها فعال است.

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

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

CALL_ACTIVITY_RESULT_BEFORE_RESUME

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

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

CAMERA_MIC_INDICATORS_NOT_PRESENT

شناسه تغییر: ۱۶۲۵۴۷۹۹۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

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

CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS

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

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

CHANGE_ID_AUTH_STATE_DENIED

شناسه تغییر: ۱۸۱۳۵۰۴۰۷
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION

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

برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف قرار می‌دهند، وقتی اجازه HIGH_SAMPLING_RATE_SENSORS را ندارند، در حالت اشکال‌زدایی اجرا می‌شوند، و نرخ‌های نمونه‌برداری سریع‌تر از ۲۰۰ هرتز را درخواست می‌کنند، SecurityException ایجاد می‌شود.

DELIVER_HISTORICAL_LOCATIONS

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

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

DISPLAY_INFO_NR_ADVANCED_SUPPORTED

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

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

DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE

شناسه تغییر: ۱۷۰۵۰۳۷۵۸
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

DOWNSCALED

شناسه تغییر: ۱۶۸۴۱۹۷۹۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

این تغییر دروازه‌بان همه تغییرات کاهش مقیاس میان‌گیر برای هر برنامه است. با فعال کردن این تغییر، ضریب‌های مقیاس زیر می‌توانند اعمال شوند:

وقتی این تغییر برای بسته برنامه فعال شود، اندازه برنامه به‌اجبار به بالاترین ضریب مقیاس فعال‌شده تغییر می‌کند. برای مثال، اگر هر دو گزینه ۸۰٪ و ۷۰٪ (DOWNSCALE_80 و DOWNSCALE_70) فعال باشند، از ۸۰٪ استفاده می‌شود.

DOWNSCALE_30

شناسه تغییر: ۱۸۹۹۷۰۰۴۰
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای بسته، برنامه را مجبور می‌کند فرض کند که در نمایشگری با ۳۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_35

شناسه تغییر: ۱۸۹۹۶۹۷۴۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۳۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_40

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

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۴۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_45

شناسه تغییر: ۱۸۹۹۶۹۷۸۲
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۴۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_50

شناسه تغییر: ۱۷۶۹۲۶۷۴۱
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۵۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_55

شناسه تغییر: ۱۸۹۹۷۰۰۳۶
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند روی نمایشگری با ۵۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_60

شناسه تغییر: ۱۷۶۹۲۶۷۷۱
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای بسته، برنامه را مجبور می‌کند فرض کند روی نمایشگری با ۶۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_65

شناسه تغییر: ۱۸۹۹۶۹۷۴۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند روی نمایشگری با ۶۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_70

شناسه تغییر: ۱۷۶۹۲۶۸۲۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۷۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_75

شناسه تغییر: ۱۸۹۹۶۹۷۷۹
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۷۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_80

شناسه تغییر: ۱۷۶۹۲۶۷۵۳
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند روی نمایشگری با ۸۰٪ وضوح عمودی و افقی نمایشگر واقعی اجرا می‌شود.

DOWNSCALE_85

شناسه تغییر: ۱۸۹۹۶۹۷۳۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۸۵٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DOWNSCALE_90

شناسه تغییر: ۱۸۲۸۱۱۲۴۳
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور می‌کند فرض کند که روی نمایشگری با ۹۰٪ وضوح عمودی و افقی نمایشگر واقعی درحال اجرا است.

DO_NOT_DOWNSCALE_TO_1080P_ON_TV

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

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

DROP_CLOSE_SYSTEM_DIALOGS

شناسه تغییر: ۱۷۴۶۶۴۱۲۰
وضعیت پیش‌فرض: برای همه برنامه‌ها فعال است.

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

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

ENABLE_CHECKS_FOR_PRIVATE_FILES

شناسه تغییر: ۱۷۲۱۰۰۳۰۷
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

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

ENABLE_DEFERRED_SCAN

شناسه تغییر: ۱۸۰۳۲۶۷۳۲
وضعیت پیش‌فرض: برای برنامه‌هایی که Android نسخه ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

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

ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION

شناسه تغییر: ۱۵۷۲۳۳۹۵۵
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (میانای برنامه‌سازی کاربردی سطح ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION

شناسه تغییر: ۱۸۳۴۰۷۹۵۶
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

ENABLE_INCLUDE_ALL_VOLUMES

شناسه تغییر: ۱۸۲۷۳۴۱۱۰
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS

شناسه تغییر: ۱۷۸۲۰۹۴۴۶
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح API‏ ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS

شناسه تغییر: ۱۸۵۱۹۹۰۷۶
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES

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

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

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

ENFORCE_STRICT_QUERY_BUILDER

شناسه تغییر: ۱۴۳۲۳۱۵۲۳
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

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

FGS_BG_START_RESTRICTION_CHANGE_ID

شناسه تغییر: ۱۷۰۶۶۸۱۹۹
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

FGS_START_EXCEPTION_CHANGE_ID

شناسه تغییر: ۱۷۴۰۴۱۳۹۹
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

FINISH_INPUT_NO_FALLBACK_CONNECTION

شناسه تغییر: ۱۵۶۲۱۵۱۸۷
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

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

اگر توسط input method فعلی فعال شده باشد، اتصال ورودی فعلی finished خواهد بود هرگاه دستگاه غیرتعاملی شود.

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

FORCE_DISABLE_HEVC_SUPPORT

شناسه تغییر: ۱۷۴۲۲۷۸۲۰
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

غیرفعال کردن اجباری برنامه از پشتیبانی قابلیت رسانه HEVC. برنامه‌ها باید قابلیت‌های رسانه‌ای پشتیبانی‌شده خود را در مانیفست خود اعلام کنند، اما این پرچم می‌تواند برای مجبور کردن برنامه به عدم پشتیبانی از HEVC استفاده شود، بنابراین تراتبدیل را هنگام دسترسی به رسانه‌های کدگذاری‌شده در HEVC اجباری می‌کند. تنظیم این پرچم هرگونه پیش‌فرض سطح سیستم‌عامل را برای برنامه‌ها لغو می‌کند. این ویژگی به‌طور پیش‌فرض غیرفعال است، یعنی پیش‌فرض‌های سیستم‌عامل اولویت دارند. اگر هم این پرچم و هم FORCE_ENABLE_HEVC_SUPPORT فعال باشند، سیستم‌عامل هر دو پرچم را نادیده می‌گیرد.

FORCE_ENABLE_HEVC_SUPPORT

شناسه تغییر: ۱۷۴۲۲۸۱۲۷
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

اجباراً فعال کردن برنامه برای پشتیبانی از قابلیت رسانه HEVC. برنامه‌ها باید قابلیت‌های رسانه پشتیبانی‌شده خود را در مانیفست خود اعلام کنند اما از این پرچم می‌توان برای اجبار کردن برنامه به پشتیبانی از HEVC استفاده کرد، بنابراین از تراتبدیل هنگام دسترسی به رسانه کدبندی‌شده در HEVC اجتناب می‌شود. تنظیم این پرچم هرگونه پیش‌فرض سطح سیستم‌عامل را برای برنامه‌ها لغو می‌کند. این ویژگی به‌طور پیش‌فرض غیرفعال است، یعنی پیش‌فرض‌های سیستم‌عامل اولویت دارند. اگر هم این پرچم و هم FORCE_DISABLE_HEVC_SUPPORT فعال باشند، سیستم‌عامل هر دو پرچم را نادیده می‌گیرد.

FORCE_NON_RESIZE_APP

شناسه تغییر: ۱۸۱۱۳۶۳۹۵
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

بسته‌هایی را که برای آن‌ها اعمال شده است مجبور می‌کند تغییرناپذیر باشند.

FORCE_RESIZE_APP

شناسه تغییر: ۱۷۴۰۴۲۹۳۶
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

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

HIDE_PROP_ICUBINARY_DATA_PATH

شناسه تغییر: ۱۷۱۹۷۹۷۶۶
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

IGNORE_ALLOW_BACKUP_IN_D2D

شناسه تغییر: ۱۸۳۱۴۷۲۴۹
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

IGNORE_FULL_BACKUP_CONTENT_IN_D2D

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

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

IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY

شناسه تغییر: ۱۶۹۲۷۳۰۷۰
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE

شناسه تغییر: ۱۵۸۴۸۲۱۶۲
وضعیت پیش‌فرض: برای برنامه‌هایی که Android نسخه ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

KEYSTORE_OPERATION_CREATION_MAY_FAIL

شناسه تغییر: ۱۶۹۸۹۷۱۶۰
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، ممکن است ایجاد عملیات keystore طبق استراتژی هرس جدید ناموفق باشد. Keystore قبلاً با این فرض کار می‌کرد که ایجاد عملیات‌های رمزنگاری همیشه موفقیت‌آمیز است. بااین‌حال، پسای KeyMint فقط تعداد محدودی جایگاه عملیات دارد.

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

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

استراتژی هرس: برای پیدا کردن نامزد مناسب، ما جریمه را برای تماس‌گیرنده و هر عملیات موجود محاسبه می‌کنیم. The malus is the inverse of the pruning power (caller) or pruning resistance (existing operation). برای اینکه تماس‌گیرنده بتواند عملیاتی را هرس کند، باید عملیاتی با امتیاز منفی بالاتر از امتیاز منفی خودش پیدا کند. برای جزئیات بیشتر درباره استراتژی هرس کردن، پیاده‌سازی operation.rs را ببینید. در Android 11 (سطح میانای برنامه‌سازی کاربردی ۳۰) و نسخه‌های پایین‌تر، KeyStore2 برای دریافت جایگاه عملیات رایگان، از Keystore daemon نظرسنجی می‌کند. برای برنامه‌هایی که Android 11 (میانای برنامه‌سازی کاربردی سطح ۳۰) و نسخه‌های پایین‌تر را هدف قرار می‌دهند، همچنان به‌نظر می‌رسد که مقداردهی اولیه شیء رمز و امضا همیشه موفقیت‌آمیز است—بااین‌حال، ممکن است دریافت عملیات بیشتر طول بکشد. همه نسخه‌های Android از زمان‌بندی عادلانه‌تر بازه زمانی عملیات و شانس بیشتر برای تکمیل موفقیت‌آمیز عملیات بهره‌مند می‌شوند.

LOCK_DOWN_CLOSE_SYSTEM_DIALOGS

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

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

LOCK_DOWN_COLLAPSE_STATUS_BAR

شناسه تغییر: ۱۷۳۰۳۱۴۱۳
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

برای برنامه‌هایی که Android نسخه ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف‌یابی می‌کنند، اجازه Manifest.permission.STATUS_BAR برای جمع کردن پانل‌های نوار وضعیت به‌دلایل امنیتی الزامی است. بدافزارها از این موضوع سوءاستفاده می‌کردند تا مانع دسترسی کاربر به اعلان‌های مهم شوند.

LOW_POWER_EXCEPTIONS

شناسه تغییر: ۱۶۸۹۳۶۳۷۵
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

برای برنامه‌هایی که Android نسخه ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف‌یابی می‌کنند، همه اشیاء LocationRequest که به‌عنوان کم‌مصرف علامت‌گذاری شده‌اند، اگر فراخواننده اجازه LOCATION_HARDWARE را نداشته باشد، به‌جای اینکه بخش کم‌مصرف درخواست را بدون اطلاع حذف کنند، استثنا ایجاد می‌کنند.

MISSING_EXPORTED_FLAG

شناسه تغییر: ۱۵۰۲۳۲۶۱۵
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

برای آشنایی بیشتر با این تغییر، به صادر کردن ایمن‌تر مؤلفه‌ها مراجعه کنید.

NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE

شناسه تغییر: ۲۰۷۵۵۷۶۷۷
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۲) یا بالاتر را هدف قرار می‌دهند فعال است.

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

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

NATIVE_HEAP_ZERO_INIT

شناسه تغییر: ۱۷۸۰۳۸۲۷۲
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

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

NATIVE_MEMTAG_ASYNC

شناسه تغییر: ۱۳۵۷۷۲۹۷۲
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

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

NATIVE_MEMTAG_SYNC

شناسه تغییر: ۱۷۷۴۳۸۳۹۴
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

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

NEVER_SANDBOX_DISPLAY_APIS

شناسه تغییر: ۱۸۴۸۳۸۳۰۶
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی فعال باشد، از اعمال جعبه امن Display API در فعالیت جعبه نامه یا SCM جلوگیری می‌کند. Display APIs همچنان مرزهای DisplayArea را ارائه خواهد داد.

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

NOTIFICATION_CANCELLATION_REASONS

شناسه تغییر: ۱۷۵۳۱۹۶۰۴
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

NOTIFICATION_TRAMPOLINE_BLOCK

شناسه تغییر: ۱۶۷۶۷۶۴۴۸
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

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

NULL_TELEPHONY_THROW_NO_CB

شناسه تغییر: ۱۸۲۱۸۵۶۴۲
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 12 (میانای برنامه‌سازی کاربردی سطح ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

برای بررسی اینکه آیا نسخه کیت توسعه نرم‌افزار هدف برای فرایند فعلی Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر است یا نه استفاده می‌شود.

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

OVERRIDE_MIN_ASPECT_RATIO

شناسه تغییر: ۱۷۴۰۴۲۹۸۰
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

این تغییر دروازه‌بان همه تغییراتی است که حداقل نسبت ابعادی مشخصی را تحمیل می‌کنند. با فعال کردن این تغییر، حداقل نسبت‌های ابعادی زیر اعمال می‌شود:

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

شناسه تغییر: ۱۸۰۳۲۶۷۸۷
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی OVERRIDE_MIN_ASPECT_RATIO نیز فعال باشد، فعال کردن این تغییر برای بسته، حداقل نسبت ابعادی فعالیت را روی مقدار بزرگی که توسط OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE تعریف شده است تنظیم می‌کند.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

شناسه تغییر: ۱۸۰۳۲۶۸۴۵
وضعیت پیش‌فرض: برای همه برنامه‌ها غیرفعال است.

وقتی OVERRIDE_MIN_ASPECT_RATIO نیز فعال باشد، فعال کردن این تغییر برای یک بسته، نسبت ابعادی حداقل فعالیت را روی مقدار متوسطی که توسط OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE تعریف شده است تنظیم می‌کند.

PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED

شناسه تغییر: ۱۶۰۷۹۴۴۶۷
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

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

PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT

شناسه تغییر: ۱۶۵۵۷۳۴۴۲
وضعیت پیش‌فرض: برای برنامه‌هایی که Android نسخه ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

برنامه‌های سرپرست که Android نسخه ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف قرار می‌دهند نمی‌توانند از DevicePolicyManager.setPasswordQuality(ComponentName, int) برای تنظیم کیفیت گذرواژه در نمونه DevicePolicyManager که با فراخوانی DevicePolicyManager.getParentProfileInstance(ComponentName) به‌دست آمده است استفاده کنند. درعوض، باید از DevicePolicyManager.setRequiredPasswordComplexity(int) برای تنظیم الزامات گذرواژه با جزئیات کم در سراسر دستگاه استفاده کنند.

RATE_LIMIT_TOASTS

شناسه تغییر: ۱۷۴۸۴۰۶۲۸
وضعیت پیش‌فرض: این تغییر را نمی‌توان روشن/خاموش کرد. فقط توسط چارچوب همسازی ثبت می‌شود.

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

REQUIRE_EXACT_ALARM_PERMISSION

شناسه تغییر: ۱۷۱۳۰۶۴۳۳
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID

شناسه تغییر: ۱۸۲۴۷۸۷۳۸
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO

شناسه تغییر: ۱۸۴۳۲۳۹۳۴
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهند فعال است.

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

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO

شناسه تغییر: ۱۸۳۱۶۴۹۷۹
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

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

RESTRICT_ADB_BACKUP

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

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

RESTRICT_DOMAINS

شناسه تغییر: ۱۷۵۴۰۸۷۴۹
وضعیت پیش‌فرض: برای برنامه‌هایی که Android ۱۲ (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف‌یابی می‌کنند فعال است.

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

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

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

SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE

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

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

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

SELINUX_LATEST_CHANGES

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

برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف‌یابی می‌کنند، با جدیدترین تغییرات SELinux موافقت می‌کند. خاموش کردن این تغییر برای برنامه‌ای که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) یا بالاتر را هدف قرار می‌دهد، بی‌تأثیر است. برای برنامه‌هایی که از شناسه کاربر مشترک استفاده می‌کنند، تأثیری ندارد.

SETTINGS_API_V2

شناسه تغییر: ۱۷۸۱۱۱۴۲۱
وضعیت پیش‌فرض: برای همه برنامه‌ها فعال است.

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

USE_SHORT_FGS_USAGE_INTERACTION_TIME

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

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