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

این صفحه هریک از تغییرات رفتاری تأثیرگذار بر برنامه را که به چارچوب همسازی در Android 11 (میانای برنامه‌سازی کاربردی سطح ۳۰) اضافه شده است شرح می‌دهد. از این فهرست در کنار گزینه‌های توسعه‌دهنده و فرمان‌های ADB برای آزمایش و اشکال‌زدایی برنامه‌تان هنگام آماده شدن برای هدف قرار دادن Android 11 استفاده کنید.

ADD_CONTENT_OBSERVER_FLAGS

شناسه تغییر: ۱۵۰۹۳۹۱۳۱

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

برای برنامه‌هایی که Android 11 را هدف قرار می‌دهند، یک سربارگذاری جدید میانای برنامه‌سازی کاربردی عمومی وجود دارد onChange(boolean, Uri, int) که شامل یک آرگومان عدد صحیح flags است.

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

ADMIN_APP_PASSWORD_COMPLEXITY

شناسه تغییر: ۱۲۳۵۶۲۴۴۴

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

برای برنامه‌های سرپرست که Android نسخه ۱۱ را هدف قرار می‌دهند، هرگاه برنامه‌ای الزامی برای گذرواژه تنظیم کند که با کیفیت گذرواژه اختصاص‌داده‌شده فعلی مرتبط نباشد، خطایی ایجاد می‌شود. برای مثال، وقتی کیفیت گذرواژه روی DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED تنظیم شده باشد، برنامه نمی‌تواند حداقل طول گذرواژه را تنظیم کند. در این حالت، قبل‌از تلاش برای تنظیم حداقل طول گذرواژه، برنامه باید ابتدا روش setPasswordQuality() را فراخوانی کند و فقط پس‌از آن روش setPasswordMinimumLength() را فراخوانی کند.

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

APP_DATA_DIRECTORY_ISOLATION

شناسه تغییر: 143937733

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

برنامه‌هایی که Android 11 را هدف قرار می‌دهند دیگر نمی‌توانند به فایل‌های موجود در فهرست‌های راهنمای داده‌های خصوصی هیچ برنامه‌ای دسترسی داشته باشند، صرف‌نظر از اینکه نسخه SDK هدف برنامه دیگر چه باشد.

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

APN_READING_PERMISSION_CHANGE_ID

شناسه تغییر: ۱۲۴۱۰۷۸۰۸

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

برای برنامه‌هایی که Android 11 را هدف قرار می‌دهند، دسترسی به پایگاه داده APN اکنون به اجازه Manifest.permission.WRITE_APN_SETTINGS نیاز دارد.

برای آشنایی بیشتر با این تغییر، به دسترسی خواندن محدودشده به پایگاه داده APN مراجعه کنید.

BACKGROUND_RATIONALE_CHANGE_ID

شناسه تغییر: 147316723

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

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

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

CALLBACK_ON_CLEAR_CHANGE

شناسه تغییر: 119147584

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

هرزمان که Editor.clear فراخوانده شود، اکنون یک فراخوانی برگشتی با کلید null به OnSharedPreferenceChangeListener.onSharedPreferenceChanged انجام می‌شود.

برای آشنایی بیشتر با این تغییر، تغییرات Callback برای OnSharedPreferenceChangeListener را ببینید.

CALLBACK_ON_MORE_ERROR_CODE_CHANGE

شناسه تغییر: ۱۳۰۵۹۵۴۵۵

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

کدهای خطا اکنون برای updateAvailableNetworks(List, Executor, Consumer) و setPreferredOpportunisticDataSubscription(int, boolean, Executor, Consumer) ازهم باز شده‌اند.

CALL_BACK_ON_CHANGED_LISTENER_WITH_SWITCHED_OP_CHANGE

شناسه تغییر: 148180766

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

این تغییر رفتاری جزئی در startWatchingMode(String, String, AppOpsManager.OnOpChangedListener) است. Before this change the system called back for the switched op. After the change the system will call back for the actually requested op or all switched ops if no op is specified.

CAMERA_MICROPHONE_CAPABILITY_CHANGE_ID

شناسه تغییر: ۱۳۶۲۱۹۲۲۱

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

برای برنامه‌هایی که Android 11 را هدف‌یابی می‌کنند، سرویس‌های پیش‌زمینه‌ای فقط زمانی قابلیت‌های «درحال استفاده» دوربین و میکروفون را دریافت می‌کنند که R.attr.foregroundServiceType به‌ترتیب به‌عنوان ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA و ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE در فایل مانیفست پیکربندی شده باشد. در نسخه‌های قبلی Android، سرویس‌های پیش‌زمینه‌ای به‌طور خودکار قابلیت‌های دوربین و میکروفون را دریافت می‌کردند.

برای آشنایی بیشتر با این تغییر، انواع سرویس پیش‌زمینه‌ای در Android 11 را ببینید.

CHANGE_BACKGROUND_CUSTOM_TOAST_BLOCK

شناسه تغییر: ۱۲۸۶۱۱۹۲۹

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

برنامه‌ها دیگر نمی‌توانند در پس‌زمینه اعلان‌های موقت سفارشی پست کنند. بااین‌حال، برنامه‌ها همچنان می‌توانند بااستفاده از روش Toast.makeText(Context, CharSequence, int) و انواع آن، در پس‌زمینه اعلان‌های موقت پست کنند.

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

CHANGE_RESTRICT_SAW_INTENT

شناسه تغییر: ۱۳۵۹۲۰۱۷۵

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

هدف‌هایی که از کنش android.settings.MANAGE_APP_OVERLAY_PERMISSION و طرح‌واره URI داده package استفاده می‌کنند دیگر کاربر را به صفحه‌نمایش مختص برنامه برای مدیریت اجازه مربوطه هدایت نمی‌کنند. درعوض، کاربر به صفحه‌ای هدایت می‌شود که در آن می‌تواند همه برنامه‌هایی را که این اجازه را درخواست کرده‌اند مدیریت کند.

CHANGE_TEXT_TOASTS_IN_THE_SYSTEM

شناسه تغییر: 147798919

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

اکنون پیام‌های موقت نوشتاری به‌جای درون‌برنامه توسط SystemUI ارائه می‌شوند. این کار از دور زدن محدودیت‌های پست کردن پیام‌های موقت سفارشی در پس‌زمینه توسط برنامه‌ها جلوگیری می‌کند.

DEFAULT_SCOPED_STORAGE

شناسه تغییر: ۱۴۹۹۲۴۵۲۷

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

همه برنامه‌هایی که Android 11 را هدف قرار می‌دهند اکنون به‌طور پیش‌فرض از فضای ذخیره‌سازی محدود استفاده می‌کنند و دیگر نمی‌توانند از فضای ذخیره‌سازی محدود انصراف دهند.

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

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

EMPTY_INTENT_ACTION_CATEGORY

شناسه تغییر: 151163173

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

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

FILTER_APPLICATION_QUERY

شناسه تغییر: ۱۳۵۵۴۹۶۷۵

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

اکنون برنامه‌ها باید بسته‌ها و هدف‌هایی را که قصد دارند استفاده کنند اعلام کنند تا بتوانند جزئیات مربوط به برنامه‌های دیگر را در دستگاه دریافت کنند. این اظهارات باید بااستفاده از برچسب <queries> در مانیفست برنامه انجام شود.

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

FORCE_ENABLE_SCOPED_STORAGE

شناسه تغییر: مقدار: ۱۳۲۶۴۹۸۶۴

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

همه برنامه‌هایی که Android 11 را هدف قرار می‌دهند اکنون به‌طور پیش‌فرض از فضای ذخیره‌سازی محدود استفاده می‌کنند و دیگر نمی‌توانند از فضای ذخیره‌سازی محدود انصراف دهند.

بااین‌حال، اگر برنامه‌تان همچنان Android 10 (سطح میانای برنامه‌سازی کاربردی ۲۹) یا پایین‌تر را هدف قرار می‌دهد، می‌توانید برنامه‌تان را با فضای ذخیره‌سازی محدودشده، صرف‌نظر از نسخه کیت توسعه نرم‌افزار هدف برنامه‌تان و مقادیر پرچم مانیفست، با روشن کردن این تغییر آزمایش کنید.

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

GET_DATA_CONNECTION_STATE_R_VERSION

شناسه تغییر: 148535736

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

برای بررسی نسخه کیت توسعه نرم‌افزار برای PreciseDataConnectionState#getDataConnectionState.

GET_DATA_STATE_R_VERSION

شناسه تغییر: ۱۴۸۵۳۴۳۴۸

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

برای بررسی نسخه کیت توسعه نرم‌افزار برای getDataState().

GET_PROVIDER_SECURITY_EXCEPTIONS

شناسه تغییر: ۱۵۰۹۳۵۳۵۴

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

برای برنامه‌هایی که Android 11 (سطح میانای برنامه‌سازی کاربردی ۳۰) یا بالاتر را هدف‌یابی می‌کنند، getProvider(String) دیگر هیچ استثنای امنیتی‌ای ایجاد نمی‌کند.

GET_TARGET_SDK_VERSION_CODE_CHANGE

شناسه تغییر: 145147528

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

برای بررسی نسخه کیت توسعه نرم‌افزار برای روش SmsManager.sendResolverResult().

GWP_ASAN

شناسه تغییر: ۱۳۵۶۳۴۸۴۶

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

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

برای آشنایی بیشتر با این تغییر، راهنمای GWP-ASan را ببینید.

HIDE_MAXTARGETSDK_P_HIDDEN_APIS

شناسه تغییر: 149997251

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

برای برنامه‌هایی که Android 10 (سطح API‏ ۲۹) یا بالاتر را هدف قرار می‌دهند، دسترسی به همه میاناهای غیرکیت توسعه نرم‌افزار را که بخشی از فهرست max-target-p (greylist-max-p) برای Android 10 (سطح API‏ ۲۹) هستند برمی‌دارد.

HIDE_MAXTARGETSDK_Q_HIDDEN_APIS

شناسه تغییر: 149994052

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

برای برنامه‌هایی که Android 11 (سطح میانای برنامه‌سازی کاربردی ۳۰) یا بالاتر را هدف قرار می‌دهند، دسترسی به همه میاناهای غیرکیت توسعه نرم‌افزار را که بخشی از فهرست max-target-q (greylist-max-q) برای Android 11 (سطح میانای برنامه‌سازی کاربردی ۳۰) هستند برمی‌دارد.

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

LISTEN_CODE_CHANGE

شناسه تغییر: 147600208

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

برای بررسی نسخه کیت توسعه نرم‌افزار برای TelephonyManager.listen(PhoneStateListener, int).

برچسب_برنامه_موجود_نیست

شناسه تغییر: ۱۵۰۷۷۶۶۴۲

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

برای برنامه‌هایی که Android 11 را هدف قرار می‌دهند، اکنون وقتی فایل مانیفست برنامه فاقد برچسب application یا instrumentation باشد، خطا نشان داده می‌شود.

NATIVE_HEAP_POINTER_TAGGING

شناسه تغییر: ۱۳۵۷۵۴۹۵۴

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

برای برنامه‌هایی که Android نسخه ۱۱ را هدف‌یابی می‌کنند، تخصیص‌های پشته بومی اکنون دارای برچسب غیرصفر در مهم‌ترین بایت هستند.

برای اطلاعات بیشتر، برچسب‌گذاری اشاره‌گر توده را ببینید.

PHONE_STATE_LISTENER_LIMIT_CHANGE_ID

شناسه تغییر: 150880553

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

برای برنامه‌هایی که Android 11 را هدف قرار می‌دهند، اکنون محدودیتی برای تعداد اشیاء PhoneStateListener وجود دارد که هر فرایند می‌تواند ازطریق TelephonyManager.listen(PhoneStateListener, int) ثبت کند. محدودیت پیش‌فرض ۵۰ است که ممکن است با به‌روزرسانی‌های پیکربندی دستگاه از راه دور تغییر کند. این محدودیت بااستفاده از IllegalStateException اعمال می‌شود که توسط TelephonyManager.listen(PhoneStateListener, int) زمانی که فرایند متخلف تلاش می‌کند یک شنونده بیش‌از حد مجاز ثبت کند، ایجاد می‌شود.

PREVENT_META_REFLECTION_BLACKLIST_ACCESS

شناسه تغییر: 142365358

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

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

PROCESS_CAPABILITY_CHANGE_ID

شناسه تغییر: ۱۳۶۲۷۴۵۹۶

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

برای برنامه‌هایی که Android 11 را هدف قرار می‌دهند، اکنون می‌توان از پرچم Context.BIND_INCLUDE_CAPABILITIES برای انتقال قابلیت‌های «درحال استفاده» از فرایند مشتری به خدمات محدودکننده استفاده کرد.

REMOVE_ANDROID_TEST_BASE

شناسه تغییر: ۱۳۳۳۹۶۹۴۶

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

برای برنامه‌هایی که Android 11 را هدف قرار می‌دهند، اگر برنامه به android.test.runner وابسته نباشد (چون به کلاس‌های کتابخانه android.test.base وابسته است)، کتابخانه android.test.base برداشته شده است.

REQUEST_ACCESSIBILITY_BUTTON_CHANGE

شناسه تغییر: 136293963

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

برای خدمات دسترس‌پذیری که Android 11 را هدف قرار می‌دهند، پرچم FLAG_REQUEST_ACCESSIBILITY_BUTTON اکنون باید در فایل فراداده خدمات دسترس‌پذیری مشخص شود. درغیراین‌صورت، پرچم نادیده گرفته می‌شود.

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

RESOURCES_ARSC_COMPRESSED

شناسه تغییر: ۱۳۲۷۴۲۱۳۱

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

برنامه‌هایی که Android 11 (سطح میانای برنامه‌سازی کاربردی 30) را هدف قرار می‌دهند، اگر حاوی فایل resources.arsc فشرده‌شده باشند یا اگر این فایل در مرز ۴ بایتی تراز نشده باشد، نمی‌توانند نصب شوند.

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

RESTRICT_STORAGE_ACCESS_FRAMEWORK

شناسه تغییر: 141600225

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

اگر برنامه شما Android 11 را هدف قرار می‌دهد و از چارچوب دسترسی به فضای ذخیره‌سازی (SAF) استفاده می‌کند، دیگر نمی‌توانید بااستفاده از کنش‌های هدف ACTION_OPEN_DOCUMENT و ACTION_OPEN_DOCUMENT_TREE به برخی‌از دایرکتوری‌ها دسترسی داشته باشید. برای کسب اطلاعات بیشتر درباره این تغییرات، به بخش محدودیت‌های دسترسی به سند در صفحه‌ای که درباره به‌روزرسانی‌های حریم خصوصی مربوط به فضای ذخیره‌سازی در Android 11 بحث می‌کند مراجعه کنید.

SELINUX_LATEST_CHANGES

شناسه تغییر: 143539591

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

این تغییر دسترسی برنامه‌ها به دامنه untrusted_app_R-targetSDk SELinux را محدود می‌کند. این یکی از تغییرات اساسی در چارچوب همسازی است که به برنامه‌ها اجازه می‌دهد تغییرات دیگری را که توسط targetSdkVersion محدود شده‌اند بدون تغییر دادن targetSDKVersion برنامه خود تغییر دهند. به همین دلیل، نباید این تغییر را برای برنامه‌ای که Android 11 را هدف قرار می‌دهد غیرفعال کنید، درغیراین‌صورت برنامه کار نخواهد کرد.

این تغییر هیچ تأثیری بر برنامه‌هایی که از شناسه کاربر مشترک استفاده می‌کنند ندارد.

THROW_SECURITY_EXCEPTIONS

شناسه تغییر: 147340954

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

پیش‌از Android 11،‏ SecurityException فقط توسط میاناهای برنامه‌سازی کاربردی setEnabled برای خطای اجازه صادر می‌شد. در Android 11 این دیگر صادق نیست و SecurityException می‌تواند به دلایل مختلفی ایجاد شود که هیچ‌کدام برای تماس‌گیرنده آشکار نیست.

برای حفظ رفتار میانای برنامه‌سازی کاربردی موجود، اگر خطای اجازه قدیمی یا خطای اجرای عامل برای برنامه‌ای که Android 11 را هدف قرار نمی‌دهد رخ دهد، استثنا به IllegalStateException تبدیل می‌شود که قبل‌از Android 11 در منبع وجود داشت.

USE_SET_LOCATION_ENABLED

شناسه تغییر: ۱۱۷۸۳۵۰۹۷

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

برنامه‌های سرپرست که Android 11 را هدف قرار می‌دهند دیگر نمی‌توانند از DevicePolicyManager.setSecureSetting(ComponentName, String, String) برای تغییر تنظیم منسوخ‌شده Settings.Secure.LOCATION_MODE استفاده کنند. درعوض باید از DevicePolicyManager.setLocationEnabled(ComponentName, boolean) استفاده کنند.