این صفحه هریک از تغییرات رفتاری تأثیرگذار بر برنامه را که به چارچوب همسازی در 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) استفاده کنند.