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

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

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

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

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

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

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

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

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

تغییرات قابل‌تغییر در چارچوب سازگاری در Android 14

ACCESS_SHARED_IDENTITY

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

اگر برنامه راه‌انداز با راه‌اندازی این فعالیت با نمونه‌ای از ActivityOptions که در آن ActivityOptions.setShareIdentityEnabled(boolean) با مقدار true فراخوانی شده است، با هم‌رسانی هویت خود موافقت کرده باشد، یا اگر شناسه کاربری فعالیت راه‌اندازی‌شده با شناسه کاربری برنامه راه‌انداز یکسان باشد، دسترسی به هویت برنامه راه‌انداز اعطا می‌شود. وقتی این تغییر فعال باشد و یکی از این الزامات برآورده شود، فعالیت می‌تواند به شناسه کاربری و نام بسته برنامه راه‌اندازی دسترسی پیدا کند به‌ترتیب با Activity.getLaunchedFromUid() و Activity.getLaunchedFromPackage().

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

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

وقتی فعال باشد، اگر برنامه‌ها در میاناهای برنامه‌سازی کاربردی و عملکرد Android 13 (سطح میانای برنامه‌سازی کاربردی ۳۳) یا پایین‌تر کُند باشند، پیام «برنامه پاسخ نمی‌دهد» (ANR) را راه‌اندازی می‌کند.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

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

برای برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) و بالاتر را هدف‌یابی می‌کنند، بررسی دسترسی مرجع برای UID تماس‌گیرنده را در همه میاناهای برنامه‌سازی کاربردی مربوط به همگام‌سازی فعال می‌کند.

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

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

وقتی برنامه‌ای PendingIntent را بااستفاده از PendingIntent#send() یا روش‌های مشابه ارسال می‌کند، اگر بخواهد امتیازات راه‌اندازی فعالیت پس‌زمینه خود را برای شروع قصد معوق اعطا کند، اکنون باید موافقت کند.

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

DETACH_THROWS_ISE_ONLY

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

پرچم برای دروازه استثنای صحیح ایجادشده توسط #detachImage.

#detachImage به‌عنوان پرتاب‌کننده IllegalStateException درصورت بروز خطا مستند شده است؛ یک روش کمکی بومی برای این پرتاب‌کننده RuntimeException اگر سطح درحین جدا کردن Image رها شده باشد.

این رفتار استثنایی که قبلاً مستند نشده بود تا Android 13 (میانای برنامه‌سازی کاربردی سطح ۳۳) ادامه دارد.

پس‌از Android 13 (سطح میانای برنامه‌سازی کاربردی ۳۳)، روش کمکی بومی فقط IllegalStateExceptions را مطابق با سند پرتاب می‌کند.

وقتی این تغییر فعال باشد، #detachImage فقط IllegalStateException را برمی‌گرداند اگر هنگام جدا کردن تصویر با خطا مواجه شود. رفتار برای برنامه‌هایی که Android 13 (سطح میانای برنامه‌سازی کاربردی ۳۳) و نسخه‌های پایین‌تر را هدف قرار می‌دهند بدون تغییر باقی می‌ماند.

DOWNSCALED

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

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

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

DOWNSCALED_INVERSE

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

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

وقتی این تغییر برای بسته برنامه فعال شود، اندازه برنامه به‌اجبار به پایین‌ترین ضریب مقیاس فعال‌شده تغییر می‌کند. برای مثال، اگر هر دو ۸۰٪ و ۷۰٪ (DOWNSCALE_80 و DOWNSCALE_70) فعال باشند، از ۸۰٪ استفاده می‌شود زیرا وقتی به‌صورت معکوس اعمال شود، ضریب مقیاس ۸۰٪ برابر با ۱۲۵٪ است که کمتر از مقیاس ۱۴۲٫۸۶٪ است که هنگام اعمال معکوس ضریب مقیاس ۷۰٪ اعمال می‌شود. وقتی هم این تغییر و هم DOWNSCALED فعال باشند، DOWNSCALED_INVERSE اولویت دارد و ضریب مقیاس به‌صورت معکوس اعمال می‌شود.

DOWNSCALE_30

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

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

DOWNSCALE_35

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

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

DOWNSCALE_40

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

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

DOWNSCALE_45

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

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

DOWNSCALE_50

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

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

DOWNSCALE_55

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

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

DOWNSCALE_60

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

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

DOWNSCALE_65

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

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

DOWNSCALE_70

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

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

DOWNSCALE_75

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

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

DOWNSCALE_80

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

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

DOWNSCALE_85

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

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

DOWNSCALE_90

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

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

ENABLE_PLATFORM_MDNS_BACKEND

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

برنامه‌هایی که Android نسخه ۱۴ یا بالاتر را هدف قرار می‌دهند از پیاده‌سازی mDNS ادغام‌شده با پلاتفرم به‌عنوان پس‌بک استفاده می‌کنند، درحالی‌که برنامه‌هایی که نسخه‌های قبلی را هدف قرار می‌دهند همچنان از پس‌بک قدیمی «جستجوی سرویس شبکه» (NSD) (با دیمون بومی قدیمی به‌عنوان NsdManager پس‌بک) استفاده می‌کنند.

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

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

بررسی قابلیت‌های خودتأییدشده برای برنامه‌هایی که Android 14 یا بالاتر را هدف قرار می‌دهند فعال است. برای جزئیات بیشتر، NetworkCapabilities را ببینید.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

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

برای برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) و بالاتر را هدف قرار می‌دهند، لازم است برنامه‌ها نیازهای رؤیت‌پذیری بسته را در مانیفست اعلام کنند تا بتوانند به میاناهای برنامه‌سازی کاربردی AccountManager دسترسی داشته باشند.

ENFORCE_READ_ONLY_JAVA_DCL

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

برای برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) و بالاتر را هدف‌یابی می‌کنند، لازم است همه فایل‌های بارشده به‌صورت پویا به‌عنوان فقط خواندنی علامت‌گذاری شوند. این کار مانع از این می‌شود که فایل‌هایی که به‌طور پویا بار می‌شوند به‌طور غیرمنتظره توسط عاملان بدخواه بازنویسی شوند.

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

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

زنگ‌های دقیق که منتظر AlarmManager.OnAlarmListener فراخوانی هستند، وقتی برنامه تماس‌گیرنده به حالت ذخیره‌شده در حافظه نهان می‌رود، لغو می‌شوند.

برای کسب اطلاعات بیشتر درباره تغییرات هشدارهای دقیق در Android 14، زمان‌بندی هشدارهای دقیق به‌طور پیش‌فرض رد می‌شود را ببینید.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

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

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

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

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

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

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

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

FGS_TYPE_NONE_DISABLED_CHANGE_ID

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

وقتی فعال باشد، برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) و بالاتر را هدف‌یابی می‌کنند و سرویس پیش‌زمینه‌ای را بااستفاده از نوع منسوخ‌شده FOREGROUND_SERVICE_TYPE_NONE راه‌اندازی می‌کنند، منجر به استثنا می‌شود.

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

FGS_TYPE_PERMISSION_CHANGE_ID

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

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

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

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

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

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

GWP_ASAN

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

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

برای کسب اطلاعات بیشتر درباره استفاده از GWP-ASan، به راهنمای GWP-ASan مراجعه کنید.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

شناسه تغییر: 229362273
وضعیت پیش‌فرض: برای برنامه‌هایی که Android 14 (سطح API‏ ۳۴) یا بالاتر را هدف قرار می‌دهند فعال است.

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

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

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

برای برنامه‌هایی که Android 14 (سطح API‏ ۳۴) و بالاتر را هدف قرار می‌دهند، برنامه‌ها باید قبل‌از هر جلسه ضبط MediaProjection از کاربر بخواهند رضایت خود را اعلام کند.

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

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

وقتی فعال باشد، این تغییر اجازه می‌دهد لغوهای جهت زیر بدون توجه به جهت درخواست‌شده توسط فعالیت اعمال شود:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

وقتی این تغییر فعال باشد، بسته‌هایی را که روی آن‌ها اعمال شده است مجبور می‌کند مقدار فعلی android:resizeableActivity و همچنین SDK هدف برابر یا کمتر از M را نادیده بگیرند و فعالیت را به‌عنوان غیرقابل‌تغییر اندازه درنظر بگیرند. در این حالت، مقدار چرخش و برش دوربین فقط به جبران موردنیاز با درنظر گرفتن چرخش نمایشگر فعلی بستگی دارد.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

وقتی فعال باشد، این تغییر بسته‌هایی را که روی آن‌ها اعمال شده است مجبور می‌کند رفتار پیش‌فرض چرخش و برش دوربین را لغو کنند و همیشه CaptureRequest.SCALER_ROTATE_AND_CROP_NONE را برگردانند.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

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

SCREEN_ORIENTATION_REVERSE_LANDSCAPE را برای برنامه‌ای که روی آن اعمال شده است فعال می‌کند. مگر اینکه OVERRIDE_ANY_ORIENTATION نیز فعال باشد، SCREEN_ORIENTATION_REVERSE_LANDSCAPE فقط زمانی استفاده می‌شود که فعالیت جهت افقی را مشخص کند. فعال کردن این تغییر می‌تواند به شما کمک کند رفتار برنامه‌تان را برای تفاوت‌های بین دستگاه‌هایی که جهت افقی در آن‌ها با Surface.ROTATION_90 مطابقت دارد و دستگاه‌هایی که در آن‌ها با Surface.ROTATION_270 مطابقت دارد آزمایش کنید.

OVERRIDE_MIN_ASPECT_RATIO

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

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

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

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

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

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

وقتی OVERRIDE_MIN_ASPECT_RATIO نیز فعال باشد، این تغییر هر تغییر دیگری را که نسبت ابعادی حداقل فعالیت را به مقدار خاصی محدود می‌کند (مثل OVERRIDE_MIN_ASPECT_RATIO_LARGE و OVERRIDE_MIN_ASPECT_RATIO_MEDIUM) به فعالیت‌هایی که جهت عمودی نیز دارند محدود می‌کند.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

SCREEN_ORIENTATION_NOSENSOR را برای برنامه‌ای که روی آن اعمال شده است فعال می‌کند. مگر اینکه OVERRIDE_ANY_ORIENTATION نیز فعال باشد، SCREEN_ORIENTATION_NOSENSOR فقط زمانی استفاده می‌شود که فعالیت هیچ جهت ثابت دیگری را مشخص نکند.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

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

SCREEN_ORIENTATION_PORTRAIT را برای برنامه‌ای که روی آن اعمال شده است فعال می‌کند. مگر اینکه OVERRIDE_ANY_ORIENTATION نیز فعال باشد، SCREEN_ORIENTATION_PORTRAIT فقط زمانی استفاده می‌شود که فعالیت هیچ جهت ثابت دیگری را مشخص نکند.

RATE_LIMIT_TOASTS

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

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

REJECT_NEGATIVE_NETWORK_ESTIMATES

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

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

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

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

برای برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) و بالاتر را هدف‌یابی می‌کنند، اگر JobWorkItem موجود نشان‌دهنده استفاده از شبکه باشد، کار میزبان باید محدودیت شبکه را مشخص کند.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

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

برای برنامه‌هایی که Android 14 (سطح میانای برنامه‌سازی کاربردی ۳۴) و بالاتر را هدف‌یابی می‌کنند، برنامه‌ها باید هنگام زمان‌بندی کار با محدودیت اتصال، هم اجازه INTERNET و هم اجازه ACCESS_NETWORK_STATE را مشخص کنند.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

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

برای برنامه‌هایی که Android نسخه ۱۴ (سطح API‏ ۳۴) و بالاتر را هدف قرار می‌دهند، اگر برنامه‌ای هنگام مشخص کردن کار انتقال داده آغازشده توسط کاربر، همه APIهای انتقال داده لازم را به‌درستی پیاده‌سازی نکند، سیستم استثنا قائل می‌شود.

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

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

وقتی فعال باشد، سیستم به بسته «android» اجازه می‌دهد از نام‌های مستعار مؤلفه استفاده کند.