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

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

ADD_CONTENT_OBSERVER_FLAGS

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

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

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

APP_DATA_DIRECTORY_ISOLATION

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

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

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

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

APN_READING_PERMISSION_CHANGE_ID

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

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، يتطلب الوصول إلى قاعدة بيانات اسم نقطة الوصول (APN) الآن الحصول على الإذن Manifest.permission.WRITE_APN_SETTINGS.

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

BACKGROUND_RATIONALE_CHANGE_ID

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

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

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

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

CALLBACK_ON_CLEAR_CHANGE

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

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

عندما يتم استدعاء Editor.clear ، يتم الآن إجراء معاودة الاتصال إلى OnSharedPreferenceChangeListener.onSharedPreferenceChanged باستخدام مفتاح null.

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

CALLBACK_ON_MORE_ERROR_CODE_CHANGE

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

الحالة التلقائية: مفعَّل للتطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android (المستوى 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

الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android (المستوى 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

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

لم يعُد بإمكان التطبيقات نشر رسائل إشعار مخصّصة في الخلفية. ومع ذلك، لا يزال بإمكان التطبيقات نشر رسائل الإعلام باستخدام طريقة 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

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

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

DEFAULT_SCOPED_STORAGE

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

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

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

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

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

EMPTY_INTENT_ACTION_CATEGORY

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

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

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

FILTER_APPLICATION_QUERY

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

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

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

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

FORCE_ENABLE_SCOPED_STORAGE

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

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

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

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

لمزيد من المعلومات عن التغييرات في مساحة التخزين المحدودة في Android 11، يُرجى الاطّلاع على قسم مساحة التخزين المحدودة في الصفحة التي تتناول التغييرات في مساحة التخزين في 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

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

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

GWP_ASAN

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

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

تتيح هذه السياسة رصد الأخطاء في الذاكرة الأصلية التي تم أخذ عيّنات منها في التطبيقات.

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

HIDE_MAXTARGETSDK_P_HIDDEN_APIS

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

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

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

HIDE_MAXTARGETSDK_Q_HIDDEN_APIS

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

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

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

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

LISTEN_CODE_CHANGE

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

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

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

MISSING_APP_TAG

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

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

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

NATIVE_HEAP_POINTER_TAGGING

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

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

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

لمزيد من المعلومات، يُرجى الاطّلاع على وضع علامات على مؤشرات الذاكرة الديناميكية.

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

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

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

PROCESS_CAPABILITY_CHANGE_ID

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

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

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

REMOVE_ANDROID_TEST_BASE

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

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

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

REQUEST_ACCESSIBILITY_BUTTON_CHANGE

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

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

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

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

RESOURCES_ARSC_COMPRESSED

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

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

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

THROW_SECURITY_EXCEPTIONS

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

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

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

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

USE_SET_LOCATION_ENABLED

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

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

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