تغییرات چارچوب سازگاری (اندروید 15)، تغییرات چارچوب سازگاری (اندروید 15)، تغییرات چارچوب سازگاری (اندروید 15)

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

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

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

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

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

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

فهرست موجود در این بخش تغییرات قابل تغییری را که در چارچوب سازگاری برای تغییرات مربوط به Android 15 گنجانده شده است و تغییرات قابل تغییر که می‌تواند به آزمایش عمومی برنامه کمک کند، توضیح می‌دهد.

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

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

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

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

هنگامی که فعال باشد، isSessionConfigurationSupported همچنین سازگاری پارامترهای جلسه را هنگامی که توسط HAL پشتیبانی می شود، بررسی می کند.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

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

هنگامی که فعال باشد، سازنده یک PendingIntent به طور پیش‌فرض فعالیت‌های پس‌زمینه را مسدود می‌کند.

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

DEPRECATE_UI_FONT

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

هنگامی که فعال باشد، ویژگی elegantTextHeight TextView به طور پیش‌فرض true می‌شود، زمانی که برنامه شما در دستگاهی با Android 15 یا بالاتر اجرا می‌شود و فونت فشرده‌ای که به‌طور پیش‌فرض استفاده می‌شود با برخی از اسکریپت‌هایی که معیارهای عمودی بزرگی دارند با فونتی که بسیار خواناتر است جایگزین می‌کند.

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

DOWNSCALED

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

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

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

DOWNSCALED_INVERSE

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

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

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

DOWNSCALE_30

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

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

DOWNSCALE_35

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

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

DOWNSCALE_40

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

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

DOWNSCALE_45

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

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

DOWNSCALE_50

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

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

DOWNSCALE_55

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

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

DOWNSCALE_60

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

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

DOWNSCALE_65

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

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

DOWNSCALE_70

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

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

DOWNSCALE_75

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

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

DOWNSCALE_80

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

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

DOWNSCALE_85

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

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

DOWNSCALE_90

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

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

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

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

وقتی فعال باشد، هنگام استفاده از Arrays.asList(...).toArray() ، نوع مؤلفه آرایه حاصل اکنون یک Object است — نه نوع عناصر آرایه زیرین. بنابراین کد زیر یک ClassCastException می اندازد:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

برای این مورد، برای حفظ String به عنوان نوع مؤلفه در آرایه حاصل، می‌توانید به جای آن از Collection.toArray(Object[]) استفاده کنید:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

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

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

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

هنگامی که فعال است، برای جلوگیری از مشکلات سازگاری برنامه‌های موجود با استفاده‌های غیر SDK از ClientTransaction#getActivityToken() فقط به همراه LaunchActivityItem اجازه دهید.

ENABLE_MATCH_LOCAL_NETWORK

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

وقتی فعال باشد، برنامه ها به طور پیش فرض تماس های شبکه را از شبکه های محلی دریافت می کنند. برنامه‌هایی که Android 14 (سطح API 34) یا پایین‌تر را هدف قرار می‌دهند همچنان باید NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK را به NetworkCapabilities NetworkRequest اضافه کنند تا ConnectivityManager.NetworkCallback از شبکه‌های محلی دریافت کنند.

ENABLE_STRICT_FORMATTER_VALIDATION

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

هنگامی که فعال باشد، اعتبارسنجی شاخص آرگومان، پرچم‌ها، عرض و دقت اکنون هنگام استفاده از APIهای String.format() و Formatter.format() سخت‌تر است.

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

ENFORCE_EDGE_TO_EDGE

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

وقتی فعال باشد، برنامه‌ها به‌طور پیش‌فرض در دستگاه‌های دارای Android 15 یا بالاتر، لبه به لبه خواهند بود.

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

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

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

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

FGS_INTRODUCE_TIME_LIMITS

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

وقتی فعال باشد، خدمات پیش زمینه از انواع خاصی دارای محدودیت زمانی هستند. اگر سرویس پیش زمینه از نوع متخلف در مدت زمان تعیین شده متوقف نشود، با استفاده از Service.onTimeout(int, int) یک تماس پاسخ دریافت می کند و سپس باید ظرف چند ثانیه متوقف شود. اگر برنامه ای این کار را انجام ندهد، ANR اعلام می شود.

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

FGS_SAW_RESTRICTIONS

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

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

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

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

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

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

FORCE_RESIZE_APP

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

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

GWP_ASAN

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

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

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

IS_DEVICE_OWNER_USER_AWARE

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

وقتی فعال باشد، متد isDeviceOwnerApp(String) از کاربر موجود در متن استفاده می‌کند. برای برنامه‌هایی که Android 14 (سطح API 34) یا پایین‌تر را هدف قرار می‌دهند، از کاربر فرآیند تماس استفاده می‌شود ( Process.myUserHandle() ).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

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

وقتی فعال باشد، برنامه‌ها دیگر نمی‌توانند وضعیت کلی یا خط‌مشی «مزاحم نشوید» (DND) را در دستگاه تغییر دهند (چه با تغییر تنظیمات کاربر یا خاموش کردن حالت DND). در عوض، برنامه‌ها باید یک AutomaticZenRule را ارائه کنند، که سیستم آن را در یک خط‌مشی جهانی با طرح موجود بیشترین محدودیت‌کننده-سیاست-برنده ترکیب می‌کند.

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

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

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

OVERRIDE_ANY_ORIENTATION_TO_USER

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

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

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

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

در حالت پنجره‌سازی آزاد، درمان سازگاری اجرای بر روی یک دستگاه پرتره را با جعبه‌بندی پنجره برنامه و تغییر ویژگی‌های دوربین به چیزی که معمولاً برنامه‌ها در یک دستگاه پرتره انتظار دارند شبیه‌سازی می‌کند: چرخش سنسور ۹۰ و ۲۷۰ درجه برای دوربین‌های عقب و جلو به ترتیب، و تنظیم چرخش نمایشگر روی ۰.

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

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

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

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

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

وقتی فعال باشد، اطمینان حاصل می‌کند که هنگام شروع یک جلسه MediaProjection ، انتخابی برای گرفتن یک برنامه یا کل صفحه نمایش به کاربران ارائه می‌شود، که استفاده از MediaProjectionConfig#createConfigForDefaultDisplay لغو می‌کند.

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_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

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

OVERRIDE_MIN_ASPECT_RATIO

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

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

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

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

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

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

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

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

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

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

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

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

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

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

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

وقتی فعال باشد، امکان تجزیه سرصفحه‌های Content-Disposition را می‌دهد که با RFC 6266 مطابقت دارند. به ویژه، این امکان تجزیه مقادیر filename* را فراهم می‌کند که می‌توانند از رمزگذاری کاراکترهای متفاوتی استفاده کنند.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

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

در صورت فعال بودن، متدهای Random.ints() اکنون دنباله متفاوتی از اعداد را نسبت به متدهای Random.nextInt() برمی گرداند. این نتیجه از تغییرات https://bugs.openjdk.org/browse/JDK-8301574 است.

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

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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

USE_NEW_ISO_LOCALE_CODES

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

وقتی فعال باشد، کدهای زبان عبری، ییدیش، و اندونزیایی دیگر به شکل‌های منسوخ خود تبدیل نمی‌شوند (عبری: iw ، ییدیش: ji ، و اندونزیایی: in ).

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

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

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

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

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

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

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

فهرست موجود در این بخش تغییرات قابل تغییری را که در چارچوب سازگاری برای تغییرات مربوط به Android 15 گنجانده شده است و تغییرات قابل تغییر که می‌تواند به آزمایش عمومی برنامه کمک کند، توضیح می‌دهد.

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

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

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

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

هنگامی که فعال باشد، isSessionConfigurationSupported همچنین سازگاری پارامترهای جلسه را هنگامی که توسط HAL پشتیبانی می شود، بررسی می کند.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

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

هنگامی که فعال باشد، سازنده یک PendingIntent به طور پیش‌فرض فعالیت‌های پس‌زمینه را مسدود می‌کند.

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

DEPRECATE_UI_FONT

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

هنگامی که فعال باشد، ویژگی elegantTextHeight TextView به طور پیش‌فرض true می‌شود، زمانی که برنامه شما در دستگاهی با Android 15 یا بالاتر اجرا می‌شود و فونت فشرده‌ای که به‌طور پیش‌فرض استفاده می‌شود با برخی از اسکریپت‌هایی که معیارهای عمودی بزرگی دارند با فونتی که بسیار خواناتر است جایگزین می‌کند.

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

DOWNSCALED

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

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

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

DOWNSCALED_INVERSE

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

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

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

DOWNSCALE_30

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

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

DOWNSCALE_35

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

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

DOWNSCALE_40

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

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

DOWNSCALE_45

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

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

DOWNSCALE_50

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

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

DOWNSCALE_55

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

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

DOWNSCALE_60

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

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

DOWNSCALE_65

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

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

DOWNSCALE_70

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

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

DOWNSCALE_75

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

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

DOWNSCALE_80

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

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

DOWNSCALE_85

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

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

DOWNSCALE_90

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

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

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

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

وقتی فعال باشد، هنگام استفاده از Arrays.asList(...).toArray() ، نوع مؤلفه آرایه حاصل اکنون یک Object است — نه نوع عناصر آرایه زیرین. بنابراین کد زیر یک ClassCastException می اندازد:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

برای این مورد، برای حفظ String به عنوان نوع مؤلفه در آرایه حاصل، می‌توانید به جای آن از Collection.toArray(Object[]) استفاده کنید:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

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

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

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

هنگامی که فعال است، برای جلوگیری از مشکلات سازگاری برنامه‌های موجود با استفاده‌های غیر SDK از ClientTransaction#getActivityToken() فقط به همراه LaunchActivityItem اجازه دهید.

ENABLE_MATCH_LOCAL_NETWORK

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

وقتی فعال باشد، برنامه ها به طور پیش فرض تماس های شبکه را از شبکه های محلی دریافت می کنند. برنامه‌هایی که Android 14 (سطح API 34) یا پایین‌تر را هدف قرار می‌دهند همچنان باید NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK را به NetworkCapabilities NetworkRequest اضافه کنند تا ConnectivityManager.NetworkCallback از شبکه‌های محلی دریافت کنند.

ENABLE_STRICT_FORMATTER_VALIDATION

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

هنگامی که فعال باشد، اعتبارسنجی شاخص آرگومان، پرچم‌ها، عرض و دقت اکنون هنگام استفاده از APIهای String.format() و Formatter.format() سخت‌تر است.

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

ENFORCE_EDGE_TO_EDGE

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

وقتی فعال باشد، برنامه‌ها به‌طور پیش‌فرض در دستگاه‌های دارای Android 15 یا بالاتر، لبه به لبه خواهند بود.

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

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

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

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

FGS_INTRODUCE_TIME_LIMITS

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

وقتی فعال باشد، خدمات پیش زمینه از انواع خاصی دارای محدودیت زمانی هستند. اگر سرویس پیش زمینه از نوع متخلف در مدت زمان تعیین شده متوقف نشود، با استفاده از Service.onTimeout(int, int) یک تماس پاسخ دریافت می کند و سپس باید ظرف چند ثانیه متوقف شود. اگر برنامه ای این کار را انجام ندهد، ANR اعلام می شود.

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

FGS_SAW_RESTRICTIONS

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

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

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

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

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

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

FORCE_RESIZE_APP

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

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

GWP_ASAN

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

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

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

IS_DEVICE_OWNER_USER_AWARE

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

وقتی فعال باشد، متد isDeviceOwnerApp(String) از کاربر موجود در متن استفاده می‌کند. برای برنامه‌هایی که Android 14 (سطح API 34) یا پایین‌تر را هدف قرار می‌دهند، از کاربر فرآیند تماس استفاده می‌شود ( Process.myUserHandle() ).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

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

وقتی فعال باشد، برنامه‌ها دیگر نمی‌توانند وضعیت کلی یا خط‌مشی «مزاحم نشوید» (DND) را در دستگاه تغییر دهند (چه با تغییر تنظیمات کاربر یا خاموش کردن حالت DND). در عوض، برنامه‌ها باید یک AutomaticZenRule را ارائه کنند، که سیستم آن را در یک خط‌مشی جهانی با طرح موجود بیشترین محدودیت‌کننده-سیاست-برنده ترکیب می‌کند.

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

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

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

OVERRIDE_ANY_ORIENTATION_TO_USER

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

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

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

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

در حالت پنجره‌سازی آزاد، درمان سازگاری اجرای بر روی یک دستگاه پرتره را با جعبه‌بندی پنجره برنامه و تغییر ویژگی‌های دوربین به چیزی که معمولاً برنامه‌ها در یک دستگاه پرتره انتظار دارند شبیه‌سازی می‌کند: چرخش سنسور ۹۰ و ۲۷۰ درجه برای دوربین‌های عقب و جلو به ترتیب، و تنظیم چرخش نمایشگر روی ۰.

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

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

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

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

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

در صورت فعال بودن ، اطمینان حاصل می کند که کاربران با انتخاب یک برنامه واحد یا کل صفحه نمایش هنگام شروع یک جلسه MediaProjection ، با استفاده از MediaProjectionConfig#createConfigForDefaultDisplay ، انتخاب می کنند.

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_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

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

OVERRIDE_MIN_ASPECT_RATIO

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

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

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

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

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

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

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

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

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

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

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

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

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

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

شناسه تغییر: 319400769
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، اجازه می دهد تا هدرهای مربوط به محتوای محتوا که مطابق با RFC 6266 هستند ، تجزیه شود. به ویژه ، این امکان تجزیه مقادیر filename* را فراهم می کند که می توانند از رمزگذاری شخصیت دیگری استفاده کنند.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

شناسه تغییر: 308103782
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، روشهای Random.ints() اکنون دنباله ای متفاوت از اعداد را نسبت به روشهای Random.nextInt() باز می گردانند. این از تغییرات در https://bugs.openjdk.org/browse/jdk-8301574 است.

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

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

در صورت فعال بودن ، سیستم به بسته "Android" اجازه می دهد تا از نام مستعار مؤلفه استفاده کند.

USE_NEW_ISO_LOCALE_CODES

شناسه تغییر: 291868760
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

هنگامی که فعال شد ، کدهای زبانی برای عبری ، ییدیش و اندونزیایی دیگر به اشکال منسوخ خود تبدیل نمی شوند (عبری: iw ، ییدیش: ji و اندونزیایی: in ).

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

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

در این صفحه تغییرات قابل جابجایی که بخشی از چارچوب سازگاری در اندروید 15 (سطح API 35) است ، توصیف می کند. از این لیست در رابطه با گزینه های توسعه دهنده و دستورات ADB برای آزمایش و اشکال زدایی برنامه خود در هنگام آماده سازی و هدف قرار دادن Android 15 استفاده کنید.

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

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

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

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

لیست در این بخش تغییرات قابل جابجایی را که در چارچوب سازگاری برای تغییرات 15 مربوط به Android و تغییرات قابل جابجایی گنجانده شده است ، توضیح می دهد که می تواند در آزمایش برنامه عمومی کمک کند.

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

تغییرات قابل جابجایی در چارچوب سازگاری در اندروید 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

شناسه تغییر: 320741775
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال شدن ، isSessionConfigurationSupported همچنین در هنگام پشتیبانی از HAL ، سازگاری پارامترهای جلسه را بررسی می کند.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

شناسه تغییر: 296478951
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

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

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

DEPRECATE_UI_FONT

شناسه تغییر: 279646685
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

هنگامی که فعال شد ، ویژگی elegantTextHeight TextView به طور پیش فرض true می شود وقتی برنامه شما روی دستگاهی با Android 15 یا بالاتر اجرا می شود ، و فونت جمع و جور را که به طور پیش فرض استفاده می شود با برخی از اسکریپت ها که دارای معیارهای عمودی بزرگی هستند با یکی از موارد بسیار خواندنی جایگزین می کند.

برای کسب اطلاعات بیشتر در مورد این تغییر ، به بخش در صفحه تغییر رفتار Android 15 در مورد پیش فرض ویژگی های ElegantTexTheight به True مراجعه کنید.

DOWNSCALED

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

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

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

DOWNSCALED_INVERSE

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

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

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

DOWNSCALE_30

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

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

DOWNSCALE_35

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 35 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند که برنامه را مجبور می کند فرض کند که با 285.71 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_40

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 40 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 250 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_45

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 45 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند تا فرض کند که با 222.22 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_50

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 50 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 200 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_55

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 55 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و این برنامه را مجبور می کند تا فرض کند که با 181.82 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی یک نمایشگر اجرا می شود.

DOWNSCALE_60

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 60 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند تا فرض کند که با 166.67 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_65

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 65 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و این برنامه را مجبور می کند تا فرض کند که با 153.85 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی یک صفحه نمایش اجرا می شود.

DOWNSCALE_70

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

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

DOWNSCALE_75

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 75 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند تا فرض کند که با 133.33 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_80

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 80 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 125 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_85

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

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

DOWNSCALE_90

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 90 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 111.11 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی یک صفحه نمایش اجرا می شود.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

شناسه تغییر: 202956589
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، هنگام استفاده از Arrays.asList(...).toArray() ، نوع مؤلفه آرایه حاصل اکنون یک Object است - نه نوع عناصر آرایه زیر. بنابراین کد زیر ClassCastException را پرتاب می کند:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

برای این مورد ، برای حفظ String به عنوان نوع مؤلفه در آرایه حاصل ، می توانید به جای آن از Collection.toArray(Object[]) استفاده کنید:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

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

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

شناسه تغییر: 324203798
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، برای جلوگیری از هرگونه برنامه موجود در سازگاری برنامه با استفاده غیر SDK از ClientTransaction#getActivityToken() ، فقط اجازه می دهد تا Bandling LaunchActivityItem انجام دهد.

ENABLE_MATCH_LOCAL_NETWORK

شناسه تغییر: 319212206
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، برنامه ها به طور پیش فرض از شبکه های محلی تماس های شبکه را از شبکه های محلی دریافت می کنند. برنامه هایی که Android 14 (API سطح 34) یا پایین تر از آن را هدف قرار می دهند ، نیاز به افزودن NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK به NetworkCapabilities NetworkRequest برای دریافت ConnectivityManager.NetworkCallback از شبکه های محلی.

ENABLE_STRICT_FORMATTER_VALIDATION

شناسه تغییر: 270674727
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، اعتبار شاخص آرگومان ، پرچم ها ، عرض و دقت در هنگام استفاده از API های String.format() و Formatter.format() اکنون سخت تر است.

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

ENFORCE_EDGE_TO_EDGE

شناسه تغییر: 309578419
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، برنامه ها به طور پیش فرض در دستگاه هایی که Android 15 یا بالاتر دارند ، به صورت لبه به لبه خواهند بود.

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

شناسه تغییر: 296558535
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال شدن ، پس زمینه سرویس پیش زمینه غیرفعال می شود از پخش های BOOT_COMPLETED برای همه نوع به جز:

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

FGS_INTRODUCE_TIME_LIMITS

شناسه تغییر: 317799821
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، خدمات پیش زمینه از انواع خاصی محدودیت زمانی دارند. اگر سرویس پیش زمینه از نوع توهین آمیز در محدوده زمانی اختصاصی متوقف نشود ، با استفاده از Service.onTimeout(int, int) یک پاسخ به تماس دریافت می کند و باید طی چند ثانیه متوقف شود. اگر یک برنامه نتواند این کار را انجام دهد ، آنر اعلام می شود.

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

FGS_SAW_RESTRICTIONS

شناسه تغییر: 319471980
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

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

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

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

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

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

FORCE_RESIZE_APP

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

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

GWP_ASAN

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

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

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

IS_DEVICE_OWNER_USER_AWARE

تغییر شناسه: 307233716
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، روش isDeviceOwnerApp(String) از کاربر موجود در متن استفاده می کند. برای برنامه هایی که Android 14 (API سطح 34) یا پایین تر را هدف قرار می دهند ، از کاربر فرآیند فراخوانی استفاده می شود ( Process.myUserHandle() ).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

شناسه تغییر: 308670109
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال شدن ، برنامه ها دیگر نمی توانند وضعیت جهانی یا خط مشی Do Not Spert (DND) را در یک دستگاه (یا با تغییر تنظیمات کاربر یا خاموش کردن حالت DND) تغییر دهند. درعوض ، برنامه ها باید یک AutomaticZenRule را که این سیستم با یک طرح موجود در سیاست های موجود در سیاست موجود در یک سیاست جهانی ترکیب می کند ، کمک کنند.

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

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

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

OVERRIDE_ANY_ORIENTATION_TO_USER

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

در صورت فعال بودن ، SCREEN_ORIENTATION_USER فعال می کند ، که از هرگونه جهت گیری درخواست شده توسط فعالیت ، غلبه می کند. برنامه های جهت یابی ثابت می توانند در صفحه نمایش در دستگاه های صفحه نمایش بزرگ با استفاده از ignoreOrientationRequest با این نادیده گرفته شوند.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

در صورت فعال شدن ، بسته هایی را که Override از درمان سازگاری دوربین در حالت پنجره ای با فرم آزاد برای برنامه های ثابت جهت گیری استفاده می شود ، حذف می کند.

در حالت پنجره ای با فرم آزاد ، درمان سازگاری با استفاده از جعبه جعبه برنامه و تغییر ویژگی های دوربین به آنچه برنامه ها معمولاً در یک دستگاه پرتره انتظار دارند ، بر روی یک دستگاه پرتره اجرا می شود: چرخش سنسور 90 و 270 درجه برای دوربین های عقب و جلو و تنظیم چرخش صفحه نمایش به 0.

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

در صورت فعال بودن ، این تغییر بسته های آن را مجبور می کند تا مقدار فعلی android:resizeableActivity و همچنین SDK هدف برابر یا پایین تر از Android 6.0 (API سطح 23) و فعالیت را غیر قابل انعطاف در نظر می گیرد. در این حالت ، مقدار چرخش دوربین و محصول فقط با توجه به چرخش صفحه نمایش فعلی به جبران خسارت مورد نیاز بستگی دارد.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

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

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

در صورت فعال بودن ، اطمینان حاصل می کند که کاربران با انتخاب یک برنامه واحد یا کل صفحه نمایش هنگام شروع یک جلسه MediaProjection ، با استفاده از MediaProjectionConfig#createConfigForDefaultDisplay ، انتخاب می کنند.

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_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

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

OVERRIDE_MIN_ASPECT_RATIO

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

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

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

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

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

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

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

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

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

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

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

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

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

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

شناسه تغییر: 319400769
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، اجازه می دهد تا هدرهای مربوط به محتوای محتوا که مطابق با RFC 6266 هستند ، تجزیه شود. به ویژه ، این امکان تجزیه مقادیر filename* را فراهم می کند که می توانند از رمزگذاری شخصیت دیگری استفاده کنند.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

شناسه تغییر: 308103782
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، روشهای Random.ints() اکنون دنباله ای متفاوت از اعداد را نسبت به روشهای Random.nextInt() باز می گردانند. این از تغییرات در https://bugs.openjdk.org/browse/jdk-8301574 است.

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

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

در صورت فعال بودن ، سیستم به بسته "Android" اجازه می دهد تا از نام مستعار مؤلفه استفاده کند.

USE_NEW_ISO_LOCALE_CODES

شناسه تغییر: 291868760
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

هنگامی که فعال شد ، کدهای زبانی برای عبری ، ییدیش و اندونزیایی دیگر به اشکال منسوخ خود تبدیل نمی شوند (عبری: iw ، ییدیش: ji و اندونزیایی: in ).

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

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

در این صفحه تغییرات قابل جابجایی که بخشی از چارچوب سازگاری در اندروید 15 (سطح API 35) است ، توصیف می کند. از این لیست در رابطه با گزینه های توسعه دهنده و دستورات ADB برای آزمایش و اشکال زدایی برنامه خود در هنگام آماده سازی و هدف قرار دادن Android 15 استفاده کنید.

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

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

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

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

لیست در این بخش تغییرات قابل جابجایی را که در چارچوب سازگاری برای تغییرات 15 مربوط به Android و تغییرات قابل جابجایی گنجانده شده است ، توضیح می دهد که می تواند در آزمایش برنامه عمومی کمک کند.

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

تغییرات قابل جابجایی در چارچوب سازگاری در اندروید 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

شناسه تغییر: 320741775
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال شدن ، isSessionConfigurationSupported همچنین در هنگام پشتیبانی از HAL ، سازگاری پارامترهای جلسه را بررسی می کند.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

شناسه تغییر: 296478951
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

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

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

DEPRECATE_UI_FONT

شناسه تغییر: 279646685
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

هنگامی که فعال شد ، ویژگی elegantTextHeight TextView به طور پیش فرض true می شود وقتی برنامه شما روی دستگاهی با Android 15 یا بالاتر اجرا می شود ، و فونت جمع و جور را که به طور پیش فرض استفاده می شود با برخی از اسکریپت ها که دارای معیارهای عمودی بزرگی هستند با یکی از موارد بسیار خواندنی جایگزین می کند.

برای کسب اطلاعات بیشتر در مورد این تغییر ، به بخش در صفحه تغییر رفتار Android 15 در مورد پیش فرض ویژگی های ElegantTexTheight به True مراجعه کنید.

DOWNSCALED

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

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

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

DOWNSCALED_INVERSE

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

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

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

DOWNSCALE_30

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

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

DOWNSCALE_35

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 35 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند که برنامه را مجبور می کند فرض کند که با 285.71 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_40

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 40 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 250 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_45

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 45 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند تا فرض کند که با 222.22 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_50

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 50 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 200 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_55

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 55 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و این برنامه را مجبور می کند تا فرض کند که با 181.82 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی یک نمایشگر اجرا می شود.

DOWNSCALE_60

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 60 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند تا فرض کند که با 166.67 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_65

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 65 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و این برنامه را مجبور می کند تا فرض کند که با 153.85 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی یک صفحه نمایش اجرا می شود.

DOWNSCALE_70

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

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

DOWNSCALE_75

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 75 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند تا فرض کند که با 133.33 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_80

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 80 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 125 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود.

DOWNSCALE_85

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

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

DOWNSCALE_90

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

اگر DOWNSCALED نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند ، برنامه را مجبور می کند که فرض کند که با 90 ٪ از وضوح عمودی و افقی از صفحه نمایش واقعی روی صفحه نمایش اجرا می شود. اگر DOWNSCALED_INVERSE نیز فعال باشد ، این امکان را برای یک بسته فراهم می کند و برنامه را مجبور می کند تا فرض کند که با 111.11 ٪ از وضوح عمودی و افقی صفحه نمایش واقعی روی یک صفحه نمایش اجرا می شود.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

شناسه تغییر: 202956589
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، هنگام استفاده از Arrays.asList(...).toArray() ، نوع مؤلفه آرایه حاصل اکنون یک Object است - نه نوع عناصر آرایه زیر. بنابراین کد زیر ClassCastException را پرتاب می کند:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

برای این مورد ، برای حفظ String به عنوان نوع مؤلفه در آرایه حاصل ، می توانید به جای آن از Collection.toArray(Object[]) استفاده کنید:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

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

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

شناسه تغییر: 324203798
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، برای جلوگیری از هرگونه برنامه موجود در سازگاری برنامه با استفاده غیر SDK از ClientTransaction#getActivityToken() ، فقط اجازه می دهد تا Bandling LaunchActivityItem انجام دهد.

ENABLE_MATCH_LOCAL_NETWORK

شناسه تغییر: 319212206
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، برنامه ها به طور پیش فرض از شبکه های محلی تماس های شبکه را از شبکه های محلی دریافت می کنند. برنامه هایی که Android 14 (API سطح 34) یا پایین تر از آن را هدف قرار می دهند ، نیاز به افزودن NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK به NetworkCapabilities NetworkRequest برای دریافت ConnectivityManager.NetworkCallback از شبکه های محلی.

ENABLE_STRICT_FORMATTER_VALIDATION

شناسه تغییر: 270674727
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، اعتبار شاخص آرگومان ، پرچم ها ، عرض و دقت در هنگام استفاده از API های String.format() و Formatter.format() اکنون سخت تر است.

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

ENFORCE_EDGE_TO_EDGE

شناسه تغییر: 309578419
حالت پیش فرض : برای برنامه هایی که Android 15 (سطح API 35) یا بالاتر را هدف قرار می دهند ، فعال می شود.

در صورت فعال بودن ، برنامه ها به طور پیش فرض در دستگاه هایی که Android 15 یا بالاتر دارند ، به صورت لبه به لبه خواهند بود.

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

شناسه تغییر: 296558535
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, disables foreground service background starts from BOOT_COMPLETED broadcasts for all types except:

To learn more about this change, see the section in the Android 15 behavior changes page about Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services .

FGS_INTRODUCE_TIME_LIMITS

Change ID: 317799821
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, foreground services of certain types have a time limit. If the foreground service of the offending type is not stopped within the allocated time limit, it will receive a callback using Service.onTimeout(int, int) and it must then be stopped within a few seconds. If an app fails to do so, it will be declared an ANR.

To learn more about this change, see the sections in the Android 15 behavior changes page about timeout behavior for the data sync and media processing foreground service types.

FGS_SAW_RESTRICTIONS

Change ID: 319471980
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, disables foreground service background starts in System Alert Window for all types unless it already has a System Overlay Window.

To learn more about this change, see the section in the Android 15 behavior changes page about Restrictions on starting foreground services while an app holds the SYSTEM_ALERT_WINDOW permission .

FORCE_DISABLE_HEVC_SUPPORT

شناسه تغییر: 174227820
Default State : Disabled for all apps.

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

FORCE_ENABLE_HEVC_SUPPORT

شناسه تغییر: 174228127
Default State : Disabled for all apps.

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

FORCE_NON_RESIZE_APP

Change ID: 181146395
Default State : Disabled for all apps.

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

FORCE_RESIZE_APP

شناسه تغییر: 174042936
Default State : Disabled for all apps.

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

GWP_ASAN

Change ID: 145634846
Default State : Disabled for all apps.

Enables sampled native memory bug detection in apps.

To learn more about using GWP-ASan, see the GWP-ASan guide .

IS_DEVICE_OWNER_USER_AWARE

Change ID: 307233716
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, the isDeviceOwnerApp(String) method will use the user contained within the context. For apps targeting Android 14 (API level 34) or lower, the user of the calling process will be used ( Process.myUserHandle() ).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

Change ID: 308670109
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, apps can no longer change the global state or policy of Do Not Disturb (DND) on a device (either by modifying user settings, or turning off DND mode). Instead, apps must contribute an AutomaticZenRule , which the system combines into a global policy with the existing most-restrictive-policy-wins scheme..

To learn more about this change, see the section in the Android 15 behavior changes page about Changes to when apps can modify the global state of Do Not Disturb mode .

NATIVE_HEAP_ZERO_INIT

شناسه تغییر: 178038272
Default State : Disabled for all apps.

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

NATIVE_MEMTAG_ASYNC

Change ID: 145772972
Default State : Disabled for all apps.

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

NATIVE_MEMTAG_SYNC

شناسه تغییر: 177438394
Default State : Disabled for all apps.

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

OVERRIDE_ANY_ORIENTATION

Change ID: 265464455
Default State : Disabled for all apps.

When enabled, this change allows the following orientation overrides to be applied regardless of the orientation requested by the activity:

OVERRIDE_ANY_ORIENTATION_TO_USER

Change ID: 310816437
Default State : Disabled for all apps.

When enabled, enables SCREEN_ORIENTATION_USER , which overrides any orientation requested by the activity. Fixed orientation apps can be overridden to fullscreen on large screen devices with ignoreOrientationRequest enabled with this override.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

Change ID: 314961188
Default State : Disabled for all apps.

When enabled, excludes the packages the override is applied to from the camera compatibility treatment in free-form windowing mode for fixed-orientation apps.

In free-form windowing mode, the compatibility treatment emulates running on a portrait device by letterboxing the app window and changing the camera characteristics to what apps commonly expect in a portrait device: 90 and 270 degree sensor rotation for back and front cameras, respectively, and setting display rotation to 0.

Use this flag to disable the compatibility treatment for apps that don't respond well to the treatment.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Change ID: 191514214
Default State : Disabled for all apps.

When enabled, this change forces the packages it is applied to ignore the current value of android:resizeableActivity as well as target SDK equal to or lower than Android 6.0 (API level 23) and consider the activity as non-resizable. In this case, the value of camera rotate and crop only depends on the needed compensation considering the current display rotation.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Change ID: 189229956
Default State : Disabled for all apps.

When enabled, this change forces the packages it is applied to override the default camera rotate and crop behavior and always return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE .

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

Change ID: 316897322
Default State : Disabled for all apps.

When enabled, ensures that users are presented with a choice of capturing a single app or the entire screen when initiating a MediaProjection session, overriding the usage of MediaProjectionConfig#createConfigForDefaultDisplay .

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Change ID: 266124927
Default State : Disabled for all apps.

Enables SCREEN_ORIENTATION_REVERSE_LANDSCAPE for the app it's applied to. Unless OVERRIDE_ANY_ORIENTATION is also enabled, SCREEN_ORIENTATION_REVERSE_LANDSCAPE is used only when the activity specifies landscape orientation. Enabling this change can help you test your app behavior for differences between devices where landscape orientation corresponds to Surface.ROTATION_90 and devices where it corresponds to Surface.ROTATION_270 .

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

Change ID: 332679525
Default State : Disabled for all apps.

When enabled, overrides the layout in display cutout mode behavior. This will only apply if edge-to-edge is not enforced.

OVERRIDE_MIN_ASPECT_RATIO

شناسه تغییر: 174042980
Default State : Disabled for all apps.

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

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Change ID: 218959984
Default State : Disabled for all apps.

When enabled, overrides the minimum aspect ratio restriction in portrait fullscreen in order to use all available screen space.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

شناسه تغییر: 180326787
Default State : Disabled for all apps.

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

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

شناسه تغییر: 180326845
Default State : Disabled for all apps.

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

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

Change ID: 325586858
Default State : Disabled for all apps.

When enabled, restricts treatments that force a given min aspect ratio to apply so that they only apply when an app is connected to the camera.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

When OVERRIDE_MIN_ASPECT_RATIO is also enabled, this change limits any other changes that force an activity's minimum aspect ratio to a certain value—such as OVERRIDE_MIN_ASPECT_RATIO_LARGE and OVERRIDE_MIN_ASPECT_RATIO_MEDIUM —to activities that also have a portrait orientation.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Change ID: 236283604
Default State : Disabled for all apps.

When enabled, this change excludes packages that is applied to from the ignore orientation restrictions that device manufacturers can set.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Change ID: 265451093
Default State : Disabled for all apps.

Enables SCREEN_ORIENTATION_NOSENSOR for the app it's applied to. Unless OVERRIDE_ANY_ORIENTATION is also enabled, SCREEN_ORIENTATION_NOSENSOR is used only when the activity doesn't specify any other fixed orientation.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Change ID: 265452344
Default State : Disabled for all apps.

Enables SCREEN_ORIENTATION_PORTRAIT for the app it's applied to. Unless OVERRIDE_ANY_ORIENTATION is also enabled, SCREEN_ORIENTATION_PORTRAIT is used only when the activity doesn't specify any other fixed orientation.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

Change ID: 319400769
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, allows parsing of Content-Disposition headers that conform to RFC 6266. In particular, this enables parsing of filename* values that can use a different character encoding.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

Change ID: 308103782
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, the Random.ints() methods now return a different sequence of numbers than the Random.nextInt() methods do. This follows from the changes in https://bugs.openjdk.org/browse/JDK-8301574 .

To learn more about this change, see the section in the Android 15 behavior changes page about OpenJDK API changes .

USE_EXPERIMENTAL_COMPONENT_ALIAS

Change ID: 196254758
Default State : Disabled for all apps.

When enabled, the system allows the "android" package to use component aliases.

USE_NEW_ISO_LOCALE_CODES

Change ID: 291868760
Default State : Enabled for apps that target Android 15 (API level 35) or higher.

When enabled, language codes for Hebrew, Yiddish, and Indonesian are no longer converted to their obsolete forms (Hebrew: iw , Yiddish: ji , and Indonesian: in ).

To learn more about this change, see the section in the Android 15 behavior changes page about OpenJDK API changes .