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

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

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

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

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

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

تغییرات رفتاری که در چارچوب سازگاری لحاظ شده‌اند

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

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

تغییرات قابل تغییر در چارچوب سازگاری در اندروید ۱۴

ACCESS_SHARED_IDENTITY

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

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

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

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

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

AUTHORITY_ACCESS_CHECK_CHANGE_ID

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

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

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

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

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

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

DETACH_THROWS_ISE_ONLY

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

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

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

این رفتار استثنا که قبلاً مستند نشده بود، تا اندروید ۱۳ (سطح API ۳۳) ادامه دارد.

بعد از اندروید ۱۳ (سطح API ۳۳)، متد کمکی نیتیو (native helper) فقط مطابق با مستندات، IllegalStateExceptions تولید می‌کند.

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

DOWNSCALED

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

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

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

DOWNSCALED_INVERSE

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

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

وقتی این تغییر برای یک بسته برنامه فعال می‌شود، برنامه به اجبار به پایین‌ترین ضریب مقیاس‌بندی فعال تغییر اندازه می‌دهد. برای مثال، اگر هر دو 80% و 70% ( DOWNSCALE_80 و DOWNSCALE_70 ) فعال باشند، از 80% استفاده می‌شود، زیرا وقتی به صورت معکوس اعمال شود، ضریب مقیاس‌بندی 80% برابر با 125% می‌شود که کمتر از مقیاس‌بندی 142.86% است که هنگام اعمال معکوس ضریب مقیاس‌بندی 70% اعمال می‌شود. وقتی هم این تغییر و هم DOWNSCALED فعال باشند، DOWNSCALED_INVERSE اولویت دارد و ضریب مقیاس‌بندی به صورت معکوس اعمال می‌شود.

DOWNSCALE_30

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

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

DOWNSCALE_35

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

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

DOWNSCALE_40

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

اگر 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

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

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

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

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

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

ENFORCE_PACKAGE_VISIBILITY_FILTERING

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

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

ENFORCE_READ_ONLY_JAVA_DCL

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

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

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

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

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

برای کسب اطلاعات بیشتر در مورد تغییرات مربوط به آلارم‌های دقیق در اندروید ۱۴، به بخش «زمان‌بندی آلارم‌های دقیق به طور پیش‌فرض رد می‌شوند» مراجعه کنید.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

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

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

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

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

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

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

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

FGS_TYPE_NONE_DISABLED_CHANGE_ID

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

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

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

FGS_TYPE_PERMISSION_CHANGE_ID

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

در صورت فعال بودن، برنامه‌هایی که اندروید ۱۴ (سطح 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

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

برای برنامه‌هایی که اندروید ۱۴ (سطح API ۳۴) و بالاتر را هدف قرار می‌دهند، کامپوننت‌ها باید اکسپورت شوند تا بتوان آن‌ها را از طریق intentهای ضمنی فراخوانی کرد. اگر کامپوننتی اکسپورت و فراخوانی نشود، از لیست گیرنده‌ها حذف می‌شود. این امر به طور خاص در مورد activityها و broadcastها صدق می‌کند.

برای کسب اطلاعات بیشتر در مورد این تغییر، به بخش مربوط به محدودیت‌های intentهای ضمنی و در حال انتظار در صفحه تغییرات رفتاری اندروید ۱۴ مراجعه کنید.

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

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

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

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

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

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

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

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

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

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

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

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

وقتی 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() فعال می‌کند تا از بارگذاری بیش از حد toastها در یک زمان محدود روی کاربر جلوگیری شود. هرگونه تلاش برای نمایش toastهای بیشتر از حد مجاز در یک بازه زمانی خاص، منجر به حذف toast می‌شود.

REJECT_NEGATIVE_NETWORK_ESTIMATES

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

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

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

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

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

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

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

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

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

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

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

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

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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