توضِّح هذه الصفحة كل تغيير في السلوك يؤثّر في التطبيقات والذي تمت إضافته إلى إطار المتوافقة في 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)
.