توضّح هذه الصفحة كل تغيير في السلوك يؤثّر في التطبيق وتمت إضافته إلى إطار عمل التوافق في نظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات). استخدِم هذه القائمة مع خيارات المطوّرين وأوامر ADB لاختبار تطبيقك وتصحيح أخطائه أثناء إعداده للاستهداف على Android 11.
ADD_CONTENT_OBSERVER_FLAGS
معرّف التغيير: 150939131
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، هناك زيادة جديدة في عدد المعلمات لواجهة برمجة التطبيقات العامة
onChange(boolean, Uri, int)
تتضمّن وسيطة flags
عدد صحيح.
هذه الطريقة الجديدة هي بديل لحزمة SDK العامة للتطبيقات التي تستخدم الطريقة onChange()
المحمّلة بشكل زائدuserId
غير المتوفّرة في حزمة SDK والتي تتضمّن وسيطة عدد صحيح.
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 الوصول إلى الملفات في أدلة البيانات الخاصة لأي تطبيق، بغض النظر عن إصدار حزمة تطوير البرامج (SDK) المستهدَف للتطبيق الآخر.
لمزيد من المعلومات، يمكنك الاطّلاع على الوصول إلى الدلائل الخاصة.
APN_READING_PERMISSION_CHANGE_ID
معرّف التغيير: 124107808
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، يتطلّب الوصول إلى قاعدة بيانات أسماء نقاط الوصول الآن الحصول على إذن 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.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 11.
EMPTY_INTENT_ACTION_CATEGORY
معرّف التغيير: 151163173
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، يعرض النظام الآن خطأً إذا كانت قيمة action
أو category
في فلتر الأهداف سلسلة فارغة. كان هناك خطأ في النظام الأساسي قبل Android 11 يسمح بتجاوز هذه الحالة بدون عرض خطأ. يُرجى العِلم أنّ هذا لا يشمل الحالات التي تكون فيها السمة فارغة أو غير متوفّرة، لأنّ ذلك كان يؤدي دائمًا إلى ظهور خطأ.
FILTER_APPLICATION_QUERY
معرّف التغيير: 135549675
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
يجب الآن أن تعلن التطبيقات عن الحِزم والأهداف التي تنوي استخدامها قبل أن تتمكّن من الحصول على تفاصيل حول التطبيقات الأخرى على الجهاز. يجب تقديم هذه البيانات باستخدام العلامة <queries>
في بيان التطبيق.
لمزيد من المعلومات حول كيفية طلب البحث والتفاعل مع التطبيقات الأخرى المثبَّتة في نظام التشغيل Android 11، يُرجى الاطّلاع على صفحة الخصوصية إذن الوصول إلى حزمة التطبيق.
FORCE_ENABLE_SCOPED_STORAGE
رقم تعريف التغيير: القيمة: 132649864
الحالة التلقائية: غير مفعَّلة لجميع التطبيقات
تستخدم جميع التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android ميزة "التخزين النطاقي" تلقائيًا، ولم يعُد بإمكانها إيقاف ميزة "التخزين النطاقي".
ومع ذلك، إذا كان تطبيقك لا يزال يستهدف الإصدار 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
) في الإصدار 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
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 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
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
لم يعُد بإمكان التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android استخدام طبقة إضافية من الانعكاس للوصول إلى الواجهات غير المتوفّرة في حزمة SDK والمحظورة.
PROCESS_CAPABILITY_CHANGE_ID
معرّف التغيير: 136274596
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android، يمكن الآن استخدام العلامة
Context.BIND_INCLUDE_CAPABILITIES
لتمرير إمكانات الاستخدام أثناء التنقل من عملية العميل إلى خدمة
مرتبطة.
REMOVE_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 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
يؤدي هذا التغيير إلى حصر وصول التطبيقات إلى نطاق untrusted_app_R-targetSDk SELinux.
هذا أحد التغييرات الأساسية في إطار التوافق التي تتيح للتطبيقات تفعيل تغييرات أخرى محمية بواسطة targetSdkVersion
بدون تغيير targetSDKVersion
في التطبيق. لهذا السبب، يجب عدم إيقاف هذا التغيير في تطبيق يستهدف الإصدار 11 من نظام التشغيل Android، وإلا لن يعمل التطبيق.
لا يؤثر هذا التغيير في التطبيقات التي تستخدم رقم تعريف مستخدم مشتركًا.
THROW_SECURITY_EXCEPTIONS
معرّف التغيير: 147340954
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
قبل الإصدار 11 من نظام التشغيل Android، كان الخطأ SecurityException
يحدث فقط في واجهات برمجة التطبيقات setEnabled
بسبب خطأ في الأذونات. في نظام التشغيل Android 11، لم يعُد هذا صحيحًا، ويمكن طرح SecurityException
لأي عدد من الأسباب، ولا يتم عرض أي منها للمتصل.
للحفاظ على سلوك واجهة برمجة التطبيقات الحالي، إذا حدث خطأ في الإذن القديم أو خطأ في فرض الجهة الفاعلة لتطبيق لا يستهدف الإصدار 11 من نظام التشغيل Android، يتم تحويل الاستثناء إلى IllegalStateException
كان متوفّرًا في المصدر قبل الإصدار 11 من نظام التشغيل Android.
USE_SET_LOCATION_ENABLED
معرّف التغيير: 117835097
الحالة التلقائية: مفعَّلة للتطبيقات التي تستهدف الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
لم تعُد تطبيقات المشرفين التي تستهدف الإصدار 11 من نظام التشغيل Android قادرة على استخدام
DevicePolicyManager.setSecureSetting(ComponentName, String, String)
لتغيير إعداد Settings.Secure.LOCATION_MODE
المتوقّف نهائيًا. بدلاً من ذلك، يجب استخدام DevicePolicyManager.setLocationEnabled(ComponentName, boolean)
.