تغييرات إطار عمل التوافق (Android 11)

توضِّح هذه الصفحة كل تغيير في السلوك يؤثّر في التطبيقات والذي تمت إضافته إلى إطار المتوافقة في Android 11 (المستوى 30 لواجهة برمجة التطبيقات). استخدِم هذه القائمة بالاشتراك مع خيارات المطوّر وأوامر ADB لاختبار تطبيقك وتصحيح أخطاءه أثناء الاستعداد لاستهداف Android 11.

ADD_CONTENT_OBSERVER_FLAGS

رقم تعريف التغيير: 150939131

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من Android، تتوفّر هناك طريقة جديدة لواجهة برمجة التطبيقات العامة onChange(boolean, Uri, int) تتضمّن وسيطة عددية flags.

هذه الطريقة الجديدة هي بديل لحزمة SDK العامة للتطبيقات التي تستخدِم الطريقة المثقلّة onChange() غير المضمّنة في حزمة SDK والتي تتضمّن وسيطة عدد صحيح userId.

Admin_APP_password_COMPLEXITY

معرّف التغيير: 123562444

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى تطبيقات المشرف التي تستهدف الإصدار 11 من نظام التشغيل Android، يجب عرض خطأ عندما يحدِّد أحد التطبيقات شرطًا لكلمة المرور غير ملائم لجودة كلمة المرور المحدَّدة حاليًا. على سبيل المثال، عند ضبط جودة كلمة المرور على DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED، لن يتمكّن التطبيق من ضبط حد أدنى لطول كلمة المرور. في هذه الحالة، قبلمحاولة ضبط الحد الأدنى لطول كلمة المرور، يجب أن يستدعي التطبيق أولاً الأسلوب setPasswordQuality() ثم يستدعي الأسلوب setPasswordMinimumLength().

بالإضافة إلى ذلك، عندما يؤدي تطبيق مشرف يستهدف الإصدار 11 من نظام التشغيل Android إلى خفض جودة كلمة المرور، تتم إعادة ضبط أي متطلبات حالية لكلمة المرور لم تعد سارية على القيم التلقائية.

APP_DATA_DIRECTORY_ISOLATION

رقم تعريف التغيير: 143937733

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

لم تعُد التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android قادرة على الوصول إلى الملفات في أدلة data الخاصة بأي تطبيق، بغض النظر عن إصدار حزمة SDK المستهدَف للتطبيق الآخر.

لمزيد من المعلومات، اطلع على الوصول إلى الأدلة الخاصة.

APN_READING_PERMISSION_CHANGE_ID

معرّف التغيير: 124107808

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى التطبيقات التي تستهدف Android 11، يجب الحصول الآن على إذن 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 ، يتمّ الآن إجراء مكالمة إلى OnSharedPreferenceChangeListener.onSharedPreferenceChanged باستخدام مفتاح null.

لمزيد من المعلومات عن هذا التغيير، اطّلِع على تغييرات طلبات الاستدعاء لسمة OnSharedPreferenceChangeListener.

CALLBACK_ON_MORE_ERROR_CODE_CHANGE

معرّف التغيير: 130595455

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار 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). قبل هذا التغيير، دعا النظام مرة أخرى لعملية التبديل. بعد التغيير، سيعاود النظام الاتصال للعملية المطلوبة بالفعل أو جميع العمليات التي تم تحويلها في حالة عدم تحديد أي عملية.

CAMERA_MICROPHONE_CAPABILITY_CHANGE_ID

معرّف التغيير: 136219221

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، لا تحصل الخدمات التي تعمل في المقدّمة على سوى إمكانيات استخدام الكاميرا والميكروفون أثناء الاستخدام عندما يتم ضبط العنصر R.attr.foregroundServiceType على القيمة ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA و ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE على التوالي في ملف البيان. في الإصدارات السابقة من Android، كانت الخدمات التي تعمل في المقدّمة تحصل تلقائيًا على إمكانات استخدام الكاميرا والميكروفون.

للاطّلاع على مزيد من المعلومات عن هذا التغيير، يُرجى الاطّلاع على أنواع الخدمات التي تعمل في المقدّمة في Android 11.

CHANGE_BACKGROUND_CUSTOM_TOAST_BLOCK

رقم تعريف التغيير: 128611929

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

لم يعد بإمكان التطبيقات نشر إشعارات منبثقة مخصّصة في الخلفية. ومع ذلك، لا يزال بإمكان التطبيقات نشر إشعارات Toast باستخدام الأسلوب Toast.makeText(Context, CharSequence, int) وأشكاله المختلفة أثناء تشغيلها في الخلفية.

لمزيد من المعلومات عن هذا التغيير، يُرجى الاطّلاع على مقالة تم منع استخدام مشاهد الإشعارات المنبثقة المخصّصة.

CHANGE_RESTRICT_SAW_INTENT

معرّف التغيير: 135920175

الحالة التلقائية: لا يمكن إيقاف هذا التغيير أو تفعيله. ولا يتم تسجيله إلا من خلال إطار التوافق.

لم تعُد النوايا التي تستخدم الإجراء android.settings.MANAGE_APP_OVERLAY_PERMISSION و مخطّط URI للبيانات package توجّه المستخدم إلى شاشة خاصة بالتطبيق لإدارة الإذن المرتبط. بدلاً من ذلك، يتم توجيه المستخدم إلى شاشة يمكنه فيها إدارة جميع التطبيقات التي طلبت الإذن.

CHANGE_TEXT_TOASTS_IN_THE_SYSTEM

معرّف التغيير: 147798919

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

يعرض SystemUI الآن الإشعارات المنبثقة النصية بدلاً من عرضها داخل التطبيق. ويمنع ذلك التطبيقات من التحايل على القيود المفروضة على نشر إشعارات منبثقة مخصّصة في الخلفية.

DEFAULT_SCOPED_STORAGE

معرّف التغيير: 149924527

الحالة التلقائية: مفعَّل لجميع التطبيقات.

تستخدم الآن جميع التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android مساحة التخزين المحدود النطاق تلقائيًا، ولم يعُد بإمكانها إيقاف ميزة "مساحة التخزين المحدود النطاق".

ومع ذلك، يمكنك اختبار تطبيقك بدون مساحة التخزين ذات النطاق المحدّد، بغض النظر عن إصدار حزمة SDK المستهدَف لتطبيقك وقيم علامة البيان، من خلال إيقاف هذا التغيير.

للتعرّف على مزيد من المعلومات عن التغييرات التي طرأت على ميزة "مساحة التخزين المخصّصة للتطبيقات" في Android 11، اطّلِع على القسم مساحة التخزين المخصّصة للتطبيقات في الصفحة حول التغييرات التي طرأت على مساحة تخزين Android في Android 11.

EMPTY_INTENT_ACTION_CATEGORY

معرّف التغيير: 151163173

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من Android، يُرسِل النظام الآن خطأ إذا كانت action أو category في فلتر الأهداف سلسلة فارغة. كان هناك خلل في المنصة قبل الإصدار 11 من Android، ما كان يسمح بتمرير هذه الحالة بدون عرض خطأ. تجدر الإشارة إلى أنّ هذا لا يشمل الحالات التي تكون فيها السمة فارغة أو غير متوفّرة، لأنّ ذلك يؤدي دائمًا إلى ظهور خطأ.

FILTER_APPLICATION_QUERY

معرّف التغيير: 135549675

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

على التطبيقات الآن الإفصاح عن الحِزم والنوايا التي تنوي استخدامها قبل أن تتمكّن من الحصول على تفاصيل عن التطبيقات الأخرى على الجهاز. ويجب تقديم هذه البيانات باستخدام علامة <queries> في بيان التطبيق.

لمعرفة مزيد من المعلومات حول طريقة طلب البحث عن التطبيقات المثبّتة الأخرى والتفاعل معها في الإصدار 11 من نظام Android، يمكنك الاطّلاع على صفحة خصوصية إذن الوصول إلى الحزمة.

FORCE_ENABLE_SCOPED_STORAGE

رقم تعريف التغيير: القيمة: 132649864

الحالة التلقائية: غير مفعّلة لجميع التطبيقات.

تستخدم الآن جميع التطبيقات التي تستهدف Android 11 مساحة التخزين ذات النطاق تلقائيًا ولم يعد بإمكانها إيقاف مساحة التخزين ذات النطاق.

ومع ذلك، إذا كان تطبيقك لا يزال يستهدف Android 10 (المستوى 29 لواجهة برمجة التطبيقات) أو إصدارًا أقدم، يمكنك اختبار تطبيقك باستخدام مساحة التخزين ذات النطاق المحدّد، بغض النظر عن إصدار حزمة تطوير البرامج (SDK) المستهدَف لتطبيقك وقيم علامة البيان، من خلال تفعيل هذا التغيير.

للتعرّف على مزيد من المعلومات حول التغييرات التي طرأت على مساحة التخزين للنطاق في Android 11، يُرجى الاطّلاع على قسم التخزين الفرعي في الصفحة حول التغييرات التي طرأت على مساحة التخزين في Android في Android 11.

GET_DATA_CONNECTION_STATE_R_VERSION

معرّف التغيير: 148535736

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

للتحقّق من إصدار حزمة SDK لتطبيق PreciseDataConnectionState#getDataConnectionState:

GET_DATA_STATE_R_VERSION

معرّف التغيير: 148534348

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

للتحقّق من إصدار حزمة SDK لتطبيق getDataState():

GET_PROVIDER_SECURITY_EXCEPTIONS

رقم تعريف التغيير: 150935354

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث، getProvider(String) لم تعُد تُظهر أي استثناءات أمان.

GET_TARGET_SDK_VERSION_CODE_CHANGE

رقم تعريف التغيير: 145147528

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 10 (المستوى 29 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

للتحقّق من إصدار حزمة SDK لطريقة SmsManager.sendResolverResult()

GWP_ASAN

معرّف التغيير: 135634846

الحالة التلقائية: غير مفعَّل لجميع التطبيقات.

تفعيل ميزة رصد أخطاء الذاكرة الأصلية المستندة إلى عيّنات في التطبيقات

لمزيد من المعلومات حول هذا التغيير، يُرجى الاطّلاع على دليل GWP-ASan.

HIDE_MAXTARGETSDK_P_HIDDEN_APIS

معرّف التغيير: 149997251

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 10 (المستوى 29 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 10 من Android (المستوى 29 من واجهة برمجة التطبيقات) أو إصدارًا أحدث، ستتم إزالة إمكانية الوصول إلى جميع واجهات غير حِزم تطوير البرامج (SDK) التي تشكّل جزءًا من قائمة max-target-p (greylist-max-p) لنظام التشغيل Android 10 (المستوى 29 من واجهة برمجة التطبيقات).

HIDE_MAXTARGETSDK_Q_HIDDEN_APIS

رقم تعريف التغيير: 149994052

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى التطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث، ستتم إزالة إمكانية الوصول إلى جميع الواجهات التي لا تتضمّن حزمة SDK التي تشكّل جزءًا من قائمة max-target-q (greylist-max-q) لنظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات).

لمزيد من المعلومات عن هذا التغيير، اطّلِع على الواجهات غير المتوفرة في حزمة SDK والتي تم حظرها الآن في Android 11.

LISTEN_CODE_CHANGE

معرّف التغيير: 147600208

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 10 (المستوى 29 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

للتحقّق من إصدار حزمة تطوير البرامج (SDK) في TelephonyManager.listen(PhoneStateListener, int)

MISSING_APP_TAG

رقم تعريف التغيير: 150776642

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، يتم الآن عرض خطأ عند عدم توفّر علامة application أو instrumentation في ملف بيان التطبيق.

NATIVE_HEAP_POINTER_TAGGING

رقم تعريف التغيير: 135754954

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، تتضمّن عمليات تخصيص وحدات الذاكرة المخصصة المدمجة الآن علامة ليست صفرية في أهم وحدة البايت.

لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تصنيف مُشير الحِزمة.

PHONE_STATE_LISTENER_LIMIT_CHANGE_ID

معرّف التغيير: 150880553

الحالة التلقائية: مفعَّل لجميع التطبيقات.

بالنسبة إلى التطبيقات التي تستهدف Android 11، هناك حدّ أقصى لعدد عناصر PhoneStateListener التي يمكن أن تسجِّلها أي عملية عبر TelephonyManager.listen(PhoneStateListener, int). الحدّ الأقصى التلقائي هو 50، ويمكن تغييره من خلال تعديلات إعدادات الجهاز عن بُعد. يتم فرض هذا الحدّ باستخدام IllegalStateException الذي يُطلقه TelephonyManager.listen(PhoneStateListener, int) عندما تحاول العملية المعنيّة تسجيل مستمع إضافي.

PREVENT_META_REFLECTION_BLACKLIST_ACCESS

معرّف التغيير: 142365358

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

لم يعُد بإمكان التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android استخدام طبقة انعكاس إضافية للوصول إلى الواجهات المقيَّدة غير المستندة إلى حزمة تطوير البرامج (SDK).

PROCESS_CAPABILITY_CHANGE_ID

معرّف التغيير: 136274596

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف Android 11، يمكن الآن استخدام العلامة Context.BIND_INCLUDE_CAPABILITIES لتمرير الإمكانات أثناء الاستخدام من عملية العميل إلى خدمة مرتبطة.

إزالة_ANDROID_TEST_BASE

معرّف التغيير: 133396946

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، تمت إزالة مكتبة android.test.base إذا كان التطبيق لا يعتمد على android.test.runner (لأنّه يعتمد على فئات من مكتبة android.test.base).

REQUEST_ACCESSIBILITY_button_change

معرّف التغيير: 136293963

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

بالنسبة إلى خدمات تسهيل الاستخدام التي تستهدف الإصدار 11 من نظام التشغيل Android، يجب الآن تحديد العلامة FLAG_REQUEST_ACCESSIBILITY_BUTTON في ملف البيانات الوصفية لخدمة تسهيل الاستخدام. وبخلاف ذلك، يتم تجاهل العلامة.

لمزيد من المعلومات حول هذا التغيير، يُرجى الاطّلاع على توضيح استخدام زر أدوات تسهيل الاستخدام في ملف بيانات وصفية.

RESOURCES_ARSC_COMPRESSED

رقم تعريف التغيير: 132742131

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

لا يمكن تثبيت التطبيقات التي تستهدف الإصدار 11 من Android (المستوى 30 لواجهة برمجة التطبيقات) إذا كانت تحتوي على ملف resources.arsc مضغوط أو إذا لم يكن هذا الملف مُحاذاً على حدود 4 بايت.

لمزيد من المعلومات عن هذا التغيير، يُرجى الاطّلاع على ملفات الموارد المضغوطة.

RESTRICT_STORAGE_ACCESS_FRAMEWORK

معرّف التغيير: 141600225

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

إذا كان تطبيقك يستهدف الإصدار 11 من نظام التشغيل Android ويستخدم إطار عمل الوصول إلى التخزين (SAF)، لن تتمكّن بعد الآن من الوصول إلى أدلة معيّنة باستخدام إجراءات البث ACTION_OPEN_DOCUMENT و ACTION_OPEN_DOCUMENT_TREE. لمزيد من المعلومات عن هذه التغييرات، يُرجى الاطّلاع على قسم قيود الوصول إلى المستندات في الصفحة التي تتناول تعديلات الخصوصية المتعلقة بمساحة التخزين في Android 11.

SELINUX_LATEST_CHANGES

معرّف التغيير: 143539591

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو إصدارًا أحدث.

يفرض هذا التغيير قيودًا على وصول التطبيقات إلى نطاق SELinux untrusted_app_R-targetSDk. هذا هو أحد التغييرات الأساسية في إطار عمل التوافق الذي يسمح للتطبيقات بتبديل التغييرات الأخرى التي تفرضها targetSdkVersion بدون تغيير targetSDKVersion التطبيق. لهذا السبب، يجب عدم إيقاف هذا التغيير في تطبيق يستهدف الإصدار 11 من Android، وإلا لن يعمل التطبيق.

لا يؤثر هذا التغيير في التطبيقات التي تستخدم رقم تعريف مستخدم مشترَكًا.

THROW_SECURITY_EXCEPTIONS

رقم تعريف التغيير: 147340954

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

قبل الإصدار 11 من نظام التشغيل Android، كانت واجهات برمجة تطبيقات setEnabled تعرِض الخطأ SecurityException فقط في حال حدوث خطأ في الإذن. في الإصدار Android 11، لم يعُد هذا صحيحًا، ويمكن طرح SecurityException لأي عدد من الأسباب، ولا يتم عرض أي منها على المُتصل.

للحفاظ على السلوك الحالي لواجهة برمجة التطبيقات، في حال حدوث خطأ في الإذن القديم أو خطأ في فرض الفاعل لتطبيق لا يستهدف Android 11، يتم إجبار الاستثناء على أن يكون IllegalStateException كان موجودًا في المصدر قبل Android 11.

USE_SET_LOCATION_ENABLED

رقم تعريف التغيير: 117835097

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف Android 11 (المستوى 30 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

لم يعُد بإمكان تطبيقات المشرفين التي تستهدف Android 11 استخدام DevicePolicyManager.setSecureSetting(ComponentName, String, String) لتغيير إعداد Settings.Secure.LOCATION_MODE المتوقف نهائيًا. بدلاً من ذلك، يجب استخدام DevicePolicyManager.setLocationEnabled(ComponentName, boolean).