ALWAYS_SANDBOX_DISPLAY_APIS شناسه تغییر: 185004937 حالت پیشفرض : برای همه برنامهها غیرفعال است.
هنگامی که فعال باشد، جعبهشنودی Display API را بدون در نظر گرفتن حالت پنجره، روی یک بسته اعمال میکند. APIهای Display همیشه محدوده برنامه را ارائه می دهند. برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به روشهای نمایشی که منسوخ شدهاند در صفحه تغییرات رفتار Android 12 مراجعه کنید. |
AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER شناسه تغییر: 163400105 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار میدهند فعال است.
با شروع Android 12، این پلتفرم میتواند پیشنهادات غیر متنی (مانند تصاویر) را با استفاده از چارچوب تکمیل خودکار ارائه دهد (به خدمات تکمیل خودکار مراجعه کنید). برای اینکه یک برنامه بتواند این پیشنهادات را مدیریت کند، معمولاً باید OnReceiveContentListener API را اجرا کند. برای اینکه پذیرش این API برای برنامههایی که قبلاً API InputConnection.commitContent(InputContentInfo, int, Bundle) روانتر کردهاند، راحتتر کنیم، اگر OnReceiveContentListener هنوز توسط برنامه پیادهسازی نشده باشد، از آن API به عنوان یک بازگشت استفاده مجدد میکنیم. این بازگشتی فقط در اندروید 12 (سطح API 31) فعال است. این شناسه تغییر، بازگشت را غیرفعال میکند، به طوری که برنامههایی که Android 12 (سطح API 32) و بالاتر را هدف قرار میدهند، باید OnReceiveContentListener API را اجرا کنند تا پیشنهادات غیر متنی را بپذیرند. |
BLOCK_FLAG_SLIPPERY شناسه تغییر: 157929241 حالت پیش فرض : برای همه برنامه ها فعال است.
برای برنامههایی که روی Android 12 اجرا میشوند (سطح API 31)، بررسی میکند که آیا FLAG_SLIPPERY با هر پنجرهای در برنامه استفاده میشود یا خیر. ما انتظار داریم که این پرچم فقط توسط اجزای سیستم استفاده شود زیرا یک فیلد پشتیبانی نشده است. اگر چنین باشد، محدود خواهد شد. |
BLOCK_GPS_STATUS_USAGE شناسه تغییر: 144027538 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، همه استفادههای GpsStatus API باید با GnssStatus API جایگزین شوند. |
BLOCK_IMMUTABLE_PENDING_INTENTS شناسه تغییر: 171317480 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، غیرقابل تغییر است اشیاء PendingIntent که به APIهای مکان ارسال می شوند، یک IllegalArgumentException. |
BLOCK_PENDING_INTENT_SYSTEM_API_USAGE شناسه تغییر: 169887240 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، APIهای سیستم LocationRequest نمیتوان با درخواستهای مکان PendingIntent استفاده کرد. |
BLOCK_UNTRUSTED_TOUCHES شناسه تغییر: 158002302 حالت پیش فرض : برای همه برنامه ها فعال است.
برای حفظ امنیت سیستم و تجربه کاربری خوب، اندروید 12 از مصرف رویدادهای لمسی در برنامهها جلوگیری میکند، جایی که یک پوشش برنامه را به روشی ناامن مسدود میکند. برای کسب اطلاعات بیشتر درباره این تغییر، به رویدادهای لمسی غیرقابل اعتماد مسدود شدهاند مراجعه کنید. |
CALL_ACTIVITY_RESULT_BEFORE_RESUME تغییر شناسه: 78294732 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 32) و بالاتر را هدف قرار میدهند، چرخه عمر نتیجه فعالیت را تصحیح میکند تا تضمین کند که یک فعالیت درست قبل از ازسرگیری نتیجه فعالیت را دریافت میکند. |
CAMERA_MIC_INDICATORS_NOT_PRESENT شناسه تغییر: 162547999 حالت پیشفرض : برای همه برنامهها غیرفعال است.
نشان می دهد که این دستگاه از نشانگرهای دوربین و میکروفون پشتیبانی می کند. در صورت وجود false خواهد بود، زیرا اگر شناسه تغییر وجود نداشته باشد، متد CompatChanges#isChangeEnabled true برمی گرداند. |
CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS شناسه تغییر: 146211400 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 32) و بالاتر را هدف قرار میدهند، در صورت وجود گروههای مجوز نادرست، مدیر بسته بستهای را نصب نمیکند. گروههای مجوز فقط باید بین برنامههایی که گواهی را به اشتراک میگذارند به اشتراک گذاشته شود. اگر مجوز متعلق به یک گروه باشد، آن گروه نیز باید تعریف شود. |
CHANGE_ID_AUTH_STATE_DENIED شناسه تغییر: 181350407 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههای سرویس گیرندهای که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، هنگامی که در وضعیت مجوز رد شده هستند و تلاش میکنند پیامی به یک برنامه نانو ارسال کنند، یک SecurityException داده میشود. |
CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION شناسه تغییر: 136069189 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، وقتی مجوز HIGH_SAMPLING_RATE_SENSORS ندارند، در حالت اشکالزدایی اجرا میشوند و نرخهای نمونهگیری سریعتر از 200 هرتز را درخواست میکنند، یک SecurityException داده میشود. |
DELIVER_HISTORICAL_LOCATIONS شناسه تغییر: 73144566 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، مشتریان مکان ممکن است تحت شرایطی مکانهای تاریخی (از قبل از زمان کنونی) را دریافت کنند. |
DISPLAY_INFO_NR_ADVANCED_SUPPORTED تغییر شناسه: 181658987 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، برای تغییرات در TelephonyDisplayInfo سازگاری با عقب را فراهم میکند. |
DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE شناسه تغییر: 170503758 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، پلتفرم ممکن است نرخ فریم برنامه را به مقسومکنندهای از نرخ تازهسازی کاهش دهد، اگر ترجیح داده شود (به عنوان مثال، اگر برنامه به Surface.setFrameRate(float, int) فراخوانی شود. Surface.setFrameRate(float, int) ). برنامهها تماسهای Choreographer.postFrameCallback(Choreographer.FrameCallback) و فشار برگشتی را با نرخ فریم پایینتر تجربه خواهند کرد. برنامه ها از Display.getRefreshRate() و Display.Mode.getRefreshRate() استفاده می کنند تا بدانند نرخ تازه سازی نمایشگر چقدر است. Display.getRefreshRate() همیشه نرخ فریم برنامه را برمیگرداند و نه نرخ تازهسازی فیزیکی نمایشگر را تا به برنامهها اجازه دهد تا سرعت فریم را به درستی انجام دهند. Display.Mode.getRefreshRate() نرخ فریم برنامه را در صورتی که به نسخه قبلی کامپایل شده باشد برمی گرداند و با Android 12 (سطح API 31) شروع می شود، نرخ تازه سازی نمایشگر فیزیکی را برمی گرداند. |
DOWNSCALED شناسه تغییر: 168419799 حالت پیشفرض : برای همه برنامهها غیرفعال است.
این تغییر دروازه بان تمام تغییرات کاهش مقیاس بافر هر برنامه است. فعال کردن این تغییر باعث میشود فاکتورهای مقیاسبندی زیر اعمال شوند: وقتی این تغییر برای یک بسته برنامه فعال می شود، اندازه برنامه به اجبار به بالاترین ضریب مقیاس پذیری فعال تغییر می کند. برای مثال، اگر هر دو 80 درصد و 70 درصد ( DOWNSCALE_80 و DOWNSCALE_70 ) فعال باشند، 80٪ استفاده می شود. |
DOWNSCALE_30 شناسه تغییر: 189970040 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 30 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_35 شناسه تغییر: 189969749 حالت پیشفرض : برای همه برنامهها غیرفعال است.
هنگامی که DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 35 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_40 شناسه تغییر: 189970038 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 40 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_45 شناسه تغییر: 189969782 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 45 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_50 تغییر شناسه: 176926741 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 50 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_55 شناسه تغییر: 189970036 حالت پیشفرض : برای همه برنامهها غیرفعال است.
هنگامی که DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 55 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_60 شناسه تغییر: 176926771 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 60 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_65 شناسه تغییر: 189969744 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 65 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_70 تغییر شناسه: 176926829 حالت پیشفرض : برای همه برنامهها غیرفعال است.
هنگامی که DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با وضوح 70 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_75 تغییر شناسه: 189969779 حالت پیشفرض : برای همه برنامهها غیرفعال است.
هنگامی که DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 75 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_80 شناسه تغییر: 176926753 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 80 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_85 شناسه تغییر: 189969734 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 85 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DOWNSCALE_90 شناسه تغییر: 182811243 حالت پیشفرض : برای همه برنامهها غیرفعال است.
هنگامی که DOWNSCALED نیز فعال باشد، فعال کردن این تغییر برای یک بسته، برنامه را مجبور میکند که فرض کند روی نمایشگری با 90 درصد وضوح عمودی و افقی نمایشگر واقعی اجرا میشود. |
DO_NOT_DOWNSCALE_TO_1080P_ON_TV شناسه تغییر: 157629738 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برنامههای Android TV که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، انتظار میرود هر اندازه پنجره، از جمله اندازههای پنجره بزرگتر از 1080p را مدیریت کنند. برنامه هایی که نسخه های قبلی اندروید را هدف قرار می دهند انتظار ندارند ویندوز بزرگتر از 1080p دریافت کنند، بنابراین در صورت لزوم ویندوز آنها به 1080p کاهش می یابد. |
DROP_CLOSE_SYSTEM_DIALOGS تغییر شناسه: 174664120 حالت پیش فرض : برای همه برنامه ها فعال است.
برای بهبود کنترل کاربر هنگام تعامل با برنامهها و سیستم، اقدام قصد ACTION_CLOSE_SYSTEM_DIALOGS از Android 12 منسوخ شده است. برای کسب اطلاعات بیشتر درباره این تغییر، به برنامه ها نمی توانند گفتگوهای سیستم را ببندند مراجعه کنید. |
ENABLE_CHECKS_FOR_PRIVATE_FILES شناسه تغییر: 172100307 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، نمیتوانند فایلهای خصوصی را با استفاده از ارائهدهنده رسانه وارد یا بهروزرسانی کنند. |
ENABLE_DEFERRED_SCAN شناسه تغییر: 180326732 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای به تعویق انداختن اسکنی که به عنوان بخشی از MediaProvider#update() فعال می شود، این گزینه را فعال کنید. |
ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION شناسه تغییر: 157233955 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، محافظت READ_PHONE_STATE در APIهایی که درخواست میکنند و وضعیت تماس را اعلان میکنند، مانند TelecomManager#getCallState ، TelephonyManager.getCallStateForSubscription() و TelephonyCallback.CallStateListener فعال میکند. |
ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION شناسه تغییر: 183407956 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، محافظتهای READ_PHONE_NUMBERS یا READ_PRIVILEGED_PHONE_STATE در getPhoneAccount(PhoneAccountHandle) فعال میکند. |
ENABLE_INCLUDE_ALL_VOLUMES شناسه تغییر: 182734110 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
این گزینه را فعال کنید تا ردیفهای پایگاه داده از فایلهایی را که اخیراً نصب نشدهاند در MediaProvider#query شامل شود. |
ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS شناسه تغییر: 178209446 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
این گزینه را فعال کنید تا به برنامههایی که مجوز Manifest.permission.MANAGE_EXTERNAL_STORAGE را دارند اجازه درخواست دسترسی به حافظه خارجی خام را بدهند. |
ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS شناسه تغییر: 185199076 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، همه هشدارهای غیردقیق باید دارای حداقل اندازه پنجره باشند که انتظار میرود در حد چند دقیقه باشد. عملاً، هر آلارمی که به پنجرههای کوچکتر نیاز دارد، همان آلارمهای دقیق است و باید از APIهای ارائهشده مربوطه مانند setExact(int, long, PendingIntent) استفاده کند. هشدار غیر دقیق با پنجرههای کوتاهتر مشخص شده، پنجرههای آنها توسط سیستم کشیده میشود. |
ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES شناسه تغییر: 142191088 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، باید وابستگیهایی را به کتابخانههای مشترک بومی عمومی که توسط سازنده دستگاه با استفاده از برچسب uses-native-library در AndroidManifest.xml تعریف شده است، اعلام کنند. اگر هر یک از وابستگی ها برآورده نشود - برای مثال، یکی از وابستگی ها وجود نداشته باشد - مدیر بسته برنامه را نصب نمی کند. وابستگی را می توان با استفاده از ویژگی android:required در تگ به عنوان اختیاری تعیین کرد، در این صورت عدم ارضای وابستگی، نصب را متوقف نمی کند. پس از نصب، یک برنامه فقط با کتابخانه های مشترک بومی که در مانیفست برنامه مشخص شده اند ارائه می شود. فراخوانی dlopen در یک کتابخانه مشترک بومی که در مانیفست برنامه ظاهر نمیشود، حتی اگر واقعاً در دستگاه وجود داشته باشد، انجام نمیشود. |
ENFORCE_STRICT_QUERY_BUILDER شناسه تغییر: 143231523 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی فعال باشد، SQLiteQueryBuilder تمام انتخابهای جستجوی CalendarProvider2 را در برابر آرگومانهای مخرب تأیید میکند. |
FGS_BG_START_RESTRICTION_CHANGE_ID شناسه تغییر: 170668199 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، زمانی را که برنامهها میتوانند خدمات پیشزمینه را هنگام اجرا در پسزمینه راهاندازی کنند، محدود میکند. |
FGS_START_EXCEPTION_CHANGE_ID شناسه تغییر: 174041399 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، سیستم را قادر میسازد تا در صورتی که برنامهای در حال اجرا در پسزمینه، یک سرویس پیشزمینه راهاندازی کند، یک IllegalStateException ایجاد کند. |
شناسه تغییر: 156215187 حالت پیشفرض : برای همه برنامهها غیرفعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، وقتی دستگاه non-interactive شد، InputConnection را تمام کنید. اگر با input method فعلی فعال شود، هر زمان که دستگاهها غیرتعاملی شوند، اتصال ورودی فعلی finished میشود. اگر فعال نباشد، در عوض وقتی دستگاهها غیرتعاملی شوند، اتصال ورودی فعلی بهطور بیصدا غیرفعال میشود و هنگامی که دستگاه دوباره تعاملی میشود، یک جفت onFinishInput() و onStartInput() ارسال میشود. |
FORCE_DISABLE_HEVC_SUPPORT شناسه تغییر: 174227820 حالت پیشفرض : برای همه برنامهها غیرفعال است.
به اجبار یک برنامه را از پشتیبانی از قابلیت رسانه HEVC غیرفعال کنید. برنامهها باید قابلیتهای رسانهای پشتیبانیشده خود را در مانیفست خود اعلام کنند، اما از این پرچم میتوان برای وادار کردن برنامه به عدم پشتیبانی از HEVC استفاده کرد، از این رو هنگام دسترسی به رسانههای کدگذاری شده در HEVC، رمزگذاری را اجباری کرد. تنظیم این پرچم هر پیشفرض سطح سیستم عامل را برای برنامهها لغو میکند. به طور پیش فرض غیرفعال است، به این معنی که پیش فرض های سیستم عامل اولویت دارند. اگر هم این پرچم و هم FORCE_ENABLE_HEVC_SUPPORT فعال باشند، سیستم عامل هر دو پرچم را نادیده می گیرد. |
FORCE_ENABLE_HEVC_SUPPORT شناسه تغییر: 174228127 حالت پیشفرض : برای همه برنامهها غیرفعال است.
فعال کردن اجباری برنامه برای پشتیبانی از قابلیت رسانه HEVC برنامهها باید قابلیتهای رسانه پشتیبانی شده خود را در مانیفست خود اعلام کنند، اما این پرچم را میتوان برای وادار کردن برنامه به پشتیبانی از HEVC استفاده کرد، بنابراین هنگام دسترسی به رسانههای کدگذاریشده در HEVC از رمزگذاری خودداری کرد. تنظیم این پرچم هر پیشفرض سطح سیستم عامل را برای برنامهها لغو میکند. به طور پیش فرض غیرفعال است، به این معنی که پیش فرض های سیستم عامل اولویت دارند. اگر هم این پرچم و هم FORCE_DISABLE_HEVC_SUPPORT فعال باشند، سیستم عامل هر دو پرچم را نادیده می گیرد. |
FORCE_NON_RESIZE_APP شناسه تغییر: 181136395 حالت پیشفرض : برای همه برنامهها غیرفعال است.
بسته هایی را که روی آنها اعمال می شود مجبور می کند قابل تغییر اندازه نباشند. |
FORCE_RESIZE_APP شناسه تغییر: 174042936 حالت پیشفرض : برای همه برنامهها غیرفعال است.
بسته هایی را که روی آنها اعمال می شود مجبور می کند قابل تغییر اندازه باشند. ما فقط اجازه تغییر اندازه را در حالت پنجره تمام صفحه می دهیم، اما برنامه را مجبور به تغییر اندازه در حالت چند پنجره ای نمی کنیم. |
HIDE_PROP_ICUBINARY_DATA_PATH شناسه تغییر: 171979766 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، دسترسی به ویژگی android.icu.impl.ICUBinary.dataPath را حذف میکند. |
IGNORE_ALLOW_BACKUP_IN_D2D شناسه تغییر: 183147249 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، android:allowBackup برای برنامهها در حین انتقال دستگاه به دستگاه (D2D) نادیده گرفته میشود. |
IGNORE_FULL_BACKUP_CONTENT_IN_D2D شناسه تغییر: 180523564 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، قوانین مشخصشده با استفاده از android:fullBackupContent در حین انتقال دستگاه به دستگاه (D2D) نادیده گرفته میشود. |
IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY شناسه تغییر: 169273070 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، getSupportedLocales() اکنون یک لیست محلی خالی را زمانی که تنظیم نشده است، بهجای منطقه محلی پیشفرض سیستم برمیگرداند. |
IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE شناسه تغییر: 158482162 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، مجوز BACKUP مورد نیاز برای isBackupServiceActive() در سمت سرویس به جای سمت کلاینت در BackupManager اعمال میشود. |
KEYSTORE_OPERATION_CREATION_MAY_FAIL تغییر شناسه: 169897160 حالت پیشفرض : برای همه برنامهها غیرفعال است.
در صورت فعال بودن، ایجاد عملیات ذخیرهسازی کلید ممکن است طبق استراتژی هرس جدید با شکست مواجه شود. Keystore با این فرض کار می کرد که ایجاد عملیات رمزنگاری همیشه موفق است. با این حال، Backend KeyMint تنها تعداد محدودی اسلات عملیاتی دارد. به منظور حفظ ظاهر اسلاتهای عملیاتی «بینهایت»، شبح Keystore حداقلترین عملیاتهایی را که اخیراً استفاده شدهاند، در صورتی که اسلات عملیاتی موجود وجود نداشته باشد، هرس میکند. در نتیجه، عملیات خوب می تواند پیش از موعد خاتمه یابد. با این کار، AndroidKeystore به انکار سرویس (DoS) و قفل زنده ناخواسته باز شد. به عنوان مثال، اگر چندین برنامه به طور همزمان به دلیل بهینه سازی مدیریت انرژی از خواب بیدار شوند و سعی در انجام عملیات رمزنگاری داشته باشند، بدون هیچ پیشرفتی شروع به خاتمه دادن به عملیات یکدیگر می کنند. برای خروج از لایلاک و جلوگیری از تلاشهای DoS، ما استراتژی هرس را به گونهای تغییر دادهایم که مشتریانی را ترجیح میدهد که از اسلاتهای عملیاتی کمی استفاده میکنند. در نتیجه، عملیات تکی که بیش از 5 ثانیه غیر فعال نمی مانند، تقریباً همیشه با استراتژی هرس بدون مانع به پایان می رسند. هنوز برخی از عملیات مربوط به رمزگذاری سیستم فایل وجود دارد که می تواند حتی این عملیات را هرس کند، اما این موارد بسیار نادر هستند. به عنوان یک عارضه جانبی این عملیات استراتژی هرس جدید، اگر مشتری قدرت هرس کمتری نسبت به همه عملیات موجود داشته باشد، اکنون ایجاد می تواند شکست بخورد. استراتژی هرس : برای یافتن یک نامزد مناسب، malus را برای تماس گیرنده و هر عملیات موجود محاسبه می کنیم. مالوس معکوس قدرت هرس (تماس دهنده) یا مقاومت هرس (عملیات موجود) است. برای اینکه تماس گیرنده بتواند یک عملیات را هرس کند، باید عملیاتی با مالوس بالاتر از خودش پیدا کند. برای جزئیات بیشتر در مورد استراتژی هرس، اجرای operation.rs را ببینید. در اندروید 11 (سطح API 30) و پایینتر، KeyStore2 شبح Keystore را برای یک اسلات عملیات رایگان نظرسنجی میکند. برای برنامههایی که اندروید 11 (سطح API 30) و پایینتر را هدف قرار میدهند، همچنان به نظر میرسد که مقداردهی اولیه شی رمز و امضا همیشه موفقیتآمیز است – با این حال، ممکن است انجام عملیات بیشتر طول بکشد. همه نسخههای اندروید از زمانبندی شکاف عملیات منصفانهتر و شانس بهتری برای پایان موفقیتآمیز عملیات بهره میبرند. |
LOCK_DOWN_CLOSE_SYSTEM_DIALOGS تغییر شناسه: 174664365 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، Intent.ACTION_CLOSE_SYSTEM_DIALOGS نمیتواند ارسال شود مگر اینکه برنامه دارای مجوز android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS باشد. توجه داشته باشید که این نسخه محدودتر #DROP_CLOSE_SYSTEM_DIALOGS است که انتظار دارد برنامه ارسال هدف Intent.ACTION_CLOSE_SYSTEM_DIALOGS را پس از شروع برنامه، Android 12 (سطح API 31) یا بالاتر را هدف قرار دهد. |
LOCK_DOWN_COLLAPSE_STATUS_BAR شناسه تغییر: 173031413 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، مجوز Manifest.permission.STATUS_BAR برای جمع کردن پانلهای نوار وضعیت به دلایل امنیتی مورد نیاز است. این بدافزار برای جلوگیری از دسترسی کاربر به اعلانهای مهم مورد سوء استفاده قرار میگرفت. |
LOW_POWER_EXCEPTIONS تغییر شناسه: 168936375 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، در صورتی که تماسگیرنده مجوز LOCATION_HARDWARE را نداشته باشد، بهجای حذف بیصدا بخش کم مصرف درخواست، همه اشیاء LocationRequest بهعنوان استثناهای پرتاب انرژی کم علامتگذاری میشوند. |
MISSING_EXPORTED_FLAG شناسه تغییر: 150232615 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، هر زمان که فیلتر هدف تعریف میشود، باید یک مقدار صریح برای ویژگی android:exported مشخص شود. برای کسب اطلاعات بیشتر در مورد این تغییر، به صادرات ایمنتر اجزا مراجعه کنید. |
NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE شناسه تغییر: 207557677 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 32) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 32) و بالاتر را هدف قرار میدهند، تخصیص هیپ بومی در فرآیند AppZygote و فرزندان آن از یک برچسب غیر صفر در مهمترین بایت استفاده میکنند. برای کسب اطلاعات بیشتر در مورد این تغییر، به نشانگرهای برچسبگذاری شده مراجعه کنید. |
NATIVE_HEAP_ZERO_INIT شناسه تغییر: 178038272 حالت پیشفرض : برای همه برنامهها غیرفعال است.
فعال کردن صفر اولیه سازی خودکار تخصیص حافظه هیپ بومی. |
NATIVE_MEMTAG_ASYNC شناسه تغییر: 135772972 حالت پیشفرض : برای همه برنامهها غیرفعال است.
بررسی تگ حافظه ناهمزمان (ASYNC) را در این فرآیند فعال کنید. این پرچم فقط بر سخت افزار پشتیبانی کننده از برنامه افزودنی برچسب گذاری حافظه ARM (MTE) تأثیر می گذارد. |
NATIVE_MEMTAG_SYNC شناسه تغییر: 177438394 حالت پیشفرض : برای همه برنامهها غیرفعال است.
بررسی تگ حافظه همزمان (SYNC) را در این فرآیند فعال می کند. این پرچم فقط بر سخت افزار پشتیبانی کننده از برنامه افزودنی برچسب گذاری حافظه ARM (MTE) تأثیر می گذارد. اگر هم NATIVE_MEMTAG_ASYNC و هم این گزینه فعال باشند، این گزینه اولویت دارد و MTE در حالت SYNC فعال می شود. |
NEVER_SANDBOX_DISPLAY_APIS شناسه تغییر: 184838306 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی فعال باشد، مانع از اعمال سندباکس Display API به صندوق نامه یا فعالیت SCM می شود. Display APIها به ارائه محدوده DisplayArea ادامه خواهند داد. برای کسب اطلاعات بیشتر درباره این تغییر، به بخش مربوط به روشهای نمایشی که منسوخ شدهاند در صفحه تغییرات رفتار Android 12 مراجعه کنید. |
NOTIFICATION_CANCELLATION_REASONS شناسه تغییر: 175319604 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
به شنوندگان اعلانها اجازه میدهد تا دلایل لغو جدید را که خاصتر هستند، درک کنند. |
NOTIFICATION_TRAMPOLINE_BLOCK تغییر شناسه: 167676448 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای بهبود عملکرد برنامه و UX، برنامههایی که Android 12 را هدف قرار میدهند، نمیتوانند از خدمات یا گیرندههای پخش به عنوان ترامپولین اعلان استفاده کنند. برای کسب اطلاعات بیشتر در مورد این تغییر، به ترامپولین اعلانها مراجعه کنید که نمیتوان از سرویسها یا گیرندههای پخش ایجاد کرد . |
NULL_TELEPHONY_THROW_NO_CB شناسه تغییر: 182185642 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای بررسی اینکه آیا نسخه SDK هدف برای فرآیند فعلی Android 12 (سطح API 31) یا بالاتر است یا خیر استفاده می شود. برای روش های زیر اعمال می شود: |
OVERRIDE_MIN_ASPECT_RATIO شناسه تغییر: 174042980 حالت پیشفرض : برای همه برنامهها غیرفعال است.
این تغییر دروازه بان تمام تغییراتی است که حداقل نسبت ابعاد معین را مجبور می کند. فعال کردن این تغییر اجازه می دهد تا حداقل نسبت ابعاد زیر اعمال شود: هنگامی که این تغییر برای یک بسته برنامه فعال می شود، حداقل نسبت ابعادی که در مانیفست برنامه ارائه شده است به بزرگترین نسبت ابعاد فعال لغو می شود، مگر اینکه مقدار مانیفست برنامه بالاتر باشد. |
OVERRIDE_MIN_ASPECT_RATIO_LARGE شناسه تغییر: 180326787 حالت پیشفرض : برای همه برنامهها غیرفعال است.
هنگامی که OVERRIDE_MIN_ASPECT_RATIO نیز فعال است، فعال کردن این تغییر برای یک بسته، حداقل نسبت ابعاد فعالیت را به مقدار زیادی که توسط OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE تعریف شده است، تنظیم می کند. |
OVERRIDE_MIN_ASPECT_RATIO_MEDIUM شناسه تغییر: 180326845 حالت پیشفرض : برای همه برنامهها غیرفعال است.
وقتی OVERRIDE_MIN_ASPECT_RATIO نیز فعال است، فعال کردن این تغییر برای یک بسته، حداقل نسبت ابعاد فعالیت را به مقدار متوسطی که توسط OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE تعریف شده است، تنظیم میکند. |
PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED شناسه تغییر: 160794467 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، باید تغییرپذیری هر شی PendingIntent را که برنامه شما ایجاد میکند مشخص کنید. این نیاز اضافی امنیت برنامه شما را بهبود می بخشد. برای کسب اطلاعات بیشتر در مورد این تغییر، نگاه کنید به اهداف معلق باید تغییرپذیری را اعلام کنند . |
PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT شناسه تغییر: 165573442 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برنامههای سرپرستی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، نمیتوانند از DevicePolicyManager.setPasswordQuality(ComponentName, int) برای تنظیم کیفیت رمز عبور در نمونه DevicePolicyManager که با تماس با DevicePolicyManager.getParentProfileInstance(ComponentName) به دست میآید استفاده کنند. درعوض، آنها باید از DevicePolicyManager.setRequiredPasswordComplexity(int) استفاده کنند تا نیازهای رمز عبور درشت را در سطح دستگاه تنظیم کنند. |
RATE_LIMIT_TOASTS شناسه تغییر: 174840628 حالت پیش فرض : این تغییر را نمی توان تغییر داد. فقط توسط چارچوب سازگاری ثبت شده است.
محدود کردن نرخ تعداد تماسهای Toast.show() را فعال میکند تا از بار بیش از حد کاربر با نان تستهای زیاد در مدت زمان محدود جلوگیری کند. هر تلاشی برای نشان دادن نان تست های بیشتر از حد مجاز در یک بازه زمانی خاص منجر به دور انداختن نان تست می شود. |
REQUIRE_EXACT_ALARM_PERMISSION شناسه تغییر: 171306433 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، برنامهها باید مجوز Manifest.permission.SCHEDULE_EXACT_ALARM را داشته باشند تا از هر API برای تنظیم هشدار دقیق استفاده کنند، مانند setExactAndAllowWhileIdle(int, long, PendingIntent) و setAlarmClock(AlarmClockInfo, PendingIntent) . |
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID تغییر شناسه: 182478738 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، برنامهها باید مجوز Manifest.permission.READ_PHONE_STATE را داشته باشند تا بتوانند با TelephonyCallback.ActiveDataSubscriptionIdListener تماس بگیرند. |
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO شناسه تغییر: 184323934 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، برنامهها باید مجوز Manifest.permission.READ_PHONE_STATE را داشته باشند تا بتوانند با TelephonyCallback.CellInfoListener تماس بگیرند. |
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO شناسه تغییر: 183164979 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، برنامهها باید مجوز Manifest.permission.READ_PHONE_STATE را داشته باشند تا بتوانند با TelephonyCallback.DisplayInfoListener تماس بگیرند. |
RESTRICT_ADB_BACKUP شناسه تغییر: 171032338 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، adb backup بهطور خودکار برای برنامههایی که بهصورت اشکالزدایی اجرا میشوند روشن میشود ( android:debuggable تنظیم شده روی true ) و برای هیچ برنامه دیگری در دسترس نیست. |
RESTRICT_DOMAINS شناسه تغییر: 175408749 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، فرم بهروزرسانی شده API تأیید پیوندهای برنامه مورد نیاز است. این الزام به این معنی است که یک برنامه باید دامنههایی را در داخل یک فیلتر هدف که شامل همه موارد زیر است، اعلام کند: -
android:autoVerify="true" -
Intent.ACTION_VIEW -
Intent.CATEGORY_BROWSABLE -
Intet.CATEGORY_DEFAULT - فقط
IntentFilter.SCHEME_HTTP و/یا IntentFilter.SCHEME_HTTPS بدون هیچ طرح دیگری
در نسخههای قبلی Android، Intent.CATEGORY_BROWSABLE الزامی نبود، طرحهای دیگر مجاز بودند، و تنظیم autoVerify روی true در هر فیلتر intent به طور ضمنی وانمود میکرد که همه فیلترهای هدف روی autoVerify="true" تنظیم شدهاند. |
SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE شناسه تغییر: 151105954 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، تمام attributionTags ارسال شده به noteOp(String, int, String) ، noteProxyOp(String, String) و startOp(String, int, String) در مانیفست تعریف شدهاند. بسته ای که به عنوان پارامتر متدها مشخص شده است. برای فعال کردن این تغییر، هم بسته ای که noteOp(String, int, String) فراخوانی می کند و هم بسته ای که به عنوان پارامتر متد مشخص شده است باید این تغییر را فعال کنند. |
SELINUX_LATEST_CHANGES شناسه تغییر: 143539591 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، آخرین تغییرات SELinux را انتخاب کنید. خاموش کردن این تغییر برای برنامهای که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهد، غیرفعال است. برای برنامه هایی که از شناسه کاربری مشترک استفاده می کنند هیچ تاثیری ندارد. |
SETTINGS_API_V2 شناسه تغییر: 178111421 حالت پیش فرض : برای همه برنامه ها فعال است.
API ترجیحی کاربر جدید برای تأیید دامنههای دارای علامت autoVerify=true در فیلترهای هدف AndroidManifest.xml هنوز در پیشنمایش پلتفرم فعلی پیادهسازی نشده است. در حال حاضر، با فعال کردن این ChangeId و استفاده از adb shell pm set-app-links-user-selection و دستورات مشابه، میتوانید پیشنمایش تغییرات ترجیحی کاربر جدید را مشاهده کنید. |
USE_SHORT_FGS_USAGE_INTERACTION_TIME شناسه تغییر: 183972877 حالت پیشفرض : برای برنامههایی که Android 12 (سطح API 31) یا بالاتر را هدف قرار میدهند فعال است.
برای برنامههایی که Android 12 (سطح API 31) و بالاتر را هدف قرار میدهند، تعیین میکند که آیا زمانی که برنامهها سرویس پیشزمینه را شروع میکنند، قبل از اینکه سطل آماده به کار را به ACTIVE برسانید، از یک بازه زمانی کوتاهتر استفاده کنید یا خیر. |