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

الشكل 1. تسرد شاشة "تغييرات التوافق مع التطبيقات" في خيارات المطوّرين التغييرات التي يمكنك إيقافها.

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

وفي ما يلي بعض الإجراءات التي يمكنك تنفيذها باستخدام أدوات إطار عمل التوافق:

  • اختبِر التغييرات المستهدَفة بدون تغيير قيمة targetSdkVersion للتطبيق. يمكنك استخدام مفاتيح التبديل لفرض تفعيل تغييرات معيّنة على سلوك مستهدَف لتقييم تأثيرها على تطبيقك الحالي.
  • تركيز الاختبار على تغييرات معيّنة فقط: وبدلاً من الاضطرار إلى معالجة جميع التغييرات المستهدفة في وقت واحد، تتيح لك مفاتيح التبديل إيقاف جميع التغييرات المستهدفة باستثناء التغييرات التي تريد الاختبار وفقًا لها.
  • إدارة مفاتيح التبديل من خلال Adb: يمكنك استخدام أوامر adb لتفعيل التغييرات القابلة للتبديل أو إيقافها في بيئة الاختبار المبرمَجة.
  • تصحيح الأخطاء بشكلٍ أسرع باستخدام أرقام تعريف التغيير العادية: يحتوي كل من التغييرات القابلة للتبديل على معرّف واسم فريدَين يمكنك استخدامهما لتصحيح أخطاء السبب الجذري بسرعة في مخرجات السجل.

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

تضمين تغييرات السلوك في إطار عمل التوافق

تصف القائمة الواردة في هذا القسم كل تغيير في السلوك يتم تضمينه في إطار عمل التوافق في Android 12.

يمكنك فلترة قائمة التغييرات حسب الحالة التلقائية.

إضافة تغييرات السلوك إلى إطار عمل التوافق في Android 12

ALWAYS_SANDBOX_DISPLAY_APIS

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

عند تفعيل هذه الميزة، يتم تطبيق وضع الحماية لواجهة برمجة التطبيقات على إحدى الحزم بغض النظر عن وضع النافذة. ستوفّر واجهات برمجة التطبيقات Display API دائمًا حدود التطبيق.

للاطّلاع على مزيد من المعلومات حول هذا التغيير، يمكنك الاطّلاع على القسم في صفحة تغييرات السلوك على نظام التشغيل Android 12 حول طرق العرض المتوقّفة نهائيًا.

AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER

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

بدءًا من نظام التشغيل Android 12، يمكن للنظام الأساسي تقديم اقتراحات غير نصية (مثل الصور) باستخدام إطار عمل الملء التلقائي المُعزَّز (راجِع خدمات الملء التلقائي). حتى يتمكن التطبيق من معالجة هذه الاقتراحات، يجب أن يستخدم OnReceiveContentListener API عادةً.

لجعل استخدام واجهة برمجة التطبيقات هذه أكثر سلاسة للتطبيقات التي نفّذت سابقًا واجهة برمجة التطبيقات InputConnection.commitContent(InputContentInfo, int, Bundle)، سنعيد استخدام واجهة برمجة التطبيقات هذه كواجهة احتياطية إذا لم ينفِّذ التطبيق OnReceiveContentListener بعد. لا يتم تفعيل هذا الإجراء الاحتياطي إلا على نظام التشغيل Android 12 (المستوى 31). يوقف رقم تعريف التغيير هذا الإجراء الاحتياطي، وبالتالي، على التطبيقات التي تستهدف الإصدار 12 من Android (المستوى 32 لواجهة برمجة التطبيقات) والإصدارات الأحدث تنفيذ واجهة برمجة التطبيقات OnReceiveContentListener لكي تقبل الاقتراحات غير النصية.

BLOCK_FLAG_SLIPPERY

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

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

BLOCK_GPS_STATUS_USAGE

رقم تعريف التغيير: 144027538
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب استخدام واجهات برمجة التطبيقات GnssStatus بدلاً من جميع استخدامات واجهة برمجة التطبيقات GpsStatus.

BLOCK_IMMUTABLE_PENDING_INTENTS

رقم تعريف التغيير: 171317480
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث غير القابلة للتغيير، ستُنشئ عناصر PendingIntent غير قابلة للتغيير يتم تمريرها إلى واجهات برمجة تطبيقات المواقع الجغرافية IllegalArgumentException..

BLOCK_PENDING_INTENT_SYSTEM_API_USAGE

رقم تعريف التغيير: 169887240
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، لا يمكن استخدام واجهات برمجة تطبيقات النظام LocationRequest مع طلبات الموقع الجغرافي في PendingIntent.

BLOCK_UNTRUSTED_TOUCHES

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

للحفاظ على أمان النظام وتقديم تجربة جيدة للمستخدم، يمنع نظام التشغيل Android 12 التطبيقات من استخدام أحداث اللمس حيث يحظر تراكبها التطبيق بطريقة غير آمنة.

لمزيد من المعلومات عن هذا التغيير، يمكنك الاطّلاع على مقالة حظر أحداث اللمس غير الموثوق بها.

CALL_ACTIVITY_RESULT_BEFORE_RESUME

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 32 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم تصحيح دورة حياة نتيجة النشاط لضمان حصول النشاط على نتيجة النشاط قبل استئنافه مباشرةً.

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

للإشارة إلى أنّ هذا الجهاز يتوافق مع مؤشرات استخدام الكاميرا والميكروفون. ستكون القيمة false إذا كانت متوفّرة، لأنّ طريقة CompatChanges#isChangeEnabled تعرض true في حال عدم توفّر رقم تعريف التغيير.

CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 32 لواجهة برمجة التطبيقات) والإصدارات الأحدث، لن يثبّت مدير الحزم حزمة إذا كانت هناك مجموعات أذونات مكتوبة بشكلٍ غير صحيح. يجب عدم مشاركة مجموعات الأذونات إلا بين التطبيقات التي تشارك شهادة. إذا كان أحد الأذونات ينتمي إلى مجموعة، يجب أيضًا تحديد هذه المجموعة.

CHANGE_ID_AUTH_STATE_DENIED

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

بالنسبة إلى تطبيقات العملاء التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم عرض الخطأ SecurityException عندما تكون في حالة التفويض "مرفوض" وتحاول إرسال رسالة إلى تطبيق nanoapp.

CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم تجاهل SecurityException في حال عدم الحصول على إذن HIGH_SAMPLING_RATE_SENSORS، ويتم تشغيلها في وضع تصحيح الأخطاء، عند طلب معدلات أخذ عينات أسرع من 200 هرتز.

DELIVER_HISTORICAL_LOCATIONS

رقم تعريف التغيير: 73144566
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، قد يتلقّى عملاء المواقع الجغرافية المواقع الجغرافية السابقة (من قبل الوقت الحالي) في ظل بعض الظروف.

DISPLAY_INFO_NR_ADVANCED_SUPPORTED

رقم تعريف التغيير: 181658987
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، توفّر التوافق مع الأنظمة القديمة للتغييرات في TelephonyDisplayInfo.

DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE

رقم تعريف التغيير: 170503758
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، قد يحدّ النظام الأساسي من عدد اللقطات في الثانية للتطبيق على قاسم معدّل التحديث إذا كان من الأفضل استخدام هذا المعدّل (على سبيل المثال، في حال استدعاء التطبيق لـ Surface.setFrameRate(float, int)). سيشهد التطبيق معاودة الاتصال بـ Choreographer.postFrameCallback(Choreographer.FrameCallback) والضغط الخلفي على عدد اللقطات في الثانية المضبوط. تستخدم التطبيقات Display.getRefreshRate() وDisplay.Mode.getRefreshRate() لمعرفة معدّل تحديث الشاشة. ستعرض Display.getRefreshRate() دائمًا عدد اللقطات في الثانية في التطبيق وليس معدّل تحديث الشاشة الفعلية، وذلك للسماح للتطبيقات بتنفيذ وتيرة عرض اللقطات بشكل صحيح. وسيعرض Display.Mode.getRefreshRate() عدد اللقطات في الثانية في التطبيق إذا تم تجميع البيانات في إصدار سابق، واعتبارًا من الإصدار 12 من Android (المستوى 31 من واجهة برمجة التطبيقات)، سيتم عرض معدّل تحديث الشاشة الفعلية.

DOWNSCALED

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

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

عند تفعيل هذا التغيير لحزمة تطبيق، يتم فرض تغيير حجم التطبيق إلى أعلى عامل تحجيم ومفعَّلة. على سبيل المثال، يتم استخدام% 80 إذا تم تفعيل كل من% 80 و%70 (DOWNSCALE_80 وDOWNSCALE_70).

DOWNSCALE_30

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق بأنّه يعمل على شاشة بنسبة% 30 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_35

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق أنه يعمل على شاشة بنسبة% 35 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_40

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق أنه يعمل على شاشة بنسبة% 40 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_45

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق بأنّه يعمل على شاشة بنسبة% 45 من درجة الدقة العمودية والأفقية على الشاشة الحقيقية.

DOWNSCALE_50

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق أنه يعمل على شاشة بنسبة% 50 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_55

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق أنه يعمل على شاشة بنسبة% 55 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_60

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

عندما تكون DOWNSCALED مفعَّلة أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض أن التطبيق يعمل على شاشة بنسبة 60% من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_65

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض أن التطبيق يعمل على شاشة بنسبة% 65 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_70

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض أن التطبيق يعمل على شاشة بنسبة% 70 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_75

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق أنه يعمل على شاشة بنسبة% 75 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_80

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق أنه يعمل على شاشة بنسبة% 80 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DOWNSCALE_85

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض التطبيق بأنّه يعمل على شاشة بنسبة% 85 من درجة الدقة العمودية والأفقية على الشاشة الحقيقية.

DOWNSCALE_90

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

عند تفعيل DOWNSCALED أيضًا، سيؤدي تفعيل هذا التغيير لحزمة ما إلى افتراض أن التطبيق يعمل على شاشة بنسبة% 90 من درجة الدقة العمودية والأفقية للشاشة الحقيقية.

DO_NOT_DOWNSCALE_TO_1080P_ON_TV

رقم تعريف التغيير: 157629738
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

من المتوقّع أن تتعامل تطبيقات Android TV التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث مع أي حجم نافذة، بما في ذلك أحجام النوافذ الأكبر من 1080p. ليس من المتوقّع أن تتلقّى التطبيقات التي تستهدف الإصدارات السابقة من Android نظام التشغيل Windows بحجم أكبر من 1080p، لذا تم خفض درجة دقة نظام التشغيل Windows إلى 1080p عند الضرورة.

DROP_CLOSE_SYSTEM_DIALOGS

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

لتحسين تحكّم المستخدِم عند التفاعل مع التطبيقات والنظام، تم إيقاف إجراء الهدف من ACTION_CLOSE_SYSTEM_DIALOGS نهائيًا اعتبارًا من نظام التشغيل Android 12.

لمزيد من المعلومات حول هذا التغيير، يُرجى الاطّلاع على لا يمكن للتطبيقات إغلاق مربّعات حوار النظام.

ENABLE_CHECKS_FOR_PRIVATE_FILES

رقم تعريف التغيير: 172100307
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

لا يمكن للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث إدراج ملفات خاصة أو تعديلها باستخدام موفِّر الوسائط.

ENABLE_DEFERRED_SCAN

رقم تعريف التغيير: 180326732
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

يمكنك تفعيل هذا الخيار لتأجيل الفحص الذي يتم تشغيله كجزء من MediaProvider#update().

ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION

معرّف التغيير: 157233955
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، تفعِّل حماية READ_PHONE_STATE عند إرسال طلبات بحث من واجهات برمجة التطبيقات وإشعار حالة الطلب، مثل TelecomManager#getCallState وTelephonyManager.getCallStateForSubscription() وTelephonyCallback.CallStateListener.

ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION

رقم تعريف التغيير: 183407956
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم تفعيل إجراءات الحماية من READ_PHONE_NUMBERS أو READ_PRIVILEGED_PHONE_STATE على getPhoneAccount(PhoneAccountHandle).

ENABLE_INCLUDE_ALL_VOLUMES

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

يمكنك تفعيل هذا الخيار لتضمين صفوف قاعدة بيانات الملفات من وحدة تخزين لم يتم تحميلها مؤخرًا في MediaProvider#query.

ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS

رقم تعريف التغيير: 178209446
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

يمكنك تفعيل هذا الخيار للسماح للتطبيقات التي تمتلك إذن Manifest.permission.MANAGE_EXTERNAL_STORAGE بطلب الوصول الأولي إلى مساحة التخزين الخارجية.

ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS

رقم تعريف التغيير: 185199076
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب أن تتضمن جميع المنبّهات غير الدقيقة حدًا أدنى لحجم النافذة يُتوقّع أن تكون حسب بضع دقائق. من الناحية العملية، تكون أي منبّهات تتطلب نوافذ أصغر هي نفسها المنبّهات المحدَّدة الوقت ويجب أن تستخدم واجهات برمجة التطبيقات المتوافقة المتوفّرة، مثل setExact(int, long, PendingIntent). إنّ المنبّهات غير الدقيقة التي تم تحديد نوافذ أقصر لها سيمدّد النظام نوافذه.

ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES

رقم تعريف التغيير: 142191088
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

على التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث توضيح تبعيات للمكتبات المشتركة الأصلية العامة التي تحدِّدها الشركة المصنّعة للجهاز باستخدام علامة uses-native-library في AndroidManifest.xml. وفي حال تعذّر استيفاء أي من التبعيات بسبب عدم توفّر إحدى التبعيات مثلاً، لن يثبّت مدير الحِزم التطبيق. ويمكن تحديد التبعية على أنّها اختيارية باستخدام السمة android:required في العلامة، وفي هذه الحالة لن يؤدي عدم استيفاء التبعية إلى إيقاف التثبيت.

بعد تثبيت التطبيق، لا يتم توفيره إلا من خلال المكتبات المشتركة الأصلية والمحددة في بيان التطبيق. وسيتعذّر استدعاء "dlopen" على مكتبة مشتركة أصلية لا تظهر في بيان التطبيق، حتى لو كانت متوفّرة على الجهاز.

ENFORCE_STRICT_QUERY_BUILDER

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

عند تفعيل هذه السياسة، تتحقّق SQLiteQueryBuilder من جميع اختيارات طلبات البحث CalendarProvider2 مقارنةً بالوسيطات الضارة.

FGS_BG_START_RESTRICTION_CHANGE_ID

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

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

FGS_START_EXCEPTION_CHANGE_ID

رقم تعريف التغيير: 174041399
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

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

FINISH_INPUT_NO_FALLBACK_CONNECTION

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب إكمال السمة InputConnection عندما يصبح الجهاز non-interactive.

في حال تفعيل السياسة input method الحالية، سيكون اتصال الإدخال الحالي finished عندما تصبح الأجهزة غير تفاعلية.

في حال عدم تفعيل هذا الإعداد، سيتم إيقاف اتصال الإدخال الحالي تلقائيًا بدلاً من ذلك عندما يصبح الجهاز غير تفاعلي، ويتم إرسال زوجَي onFinishInput() وonStartInput() عندما يصبح الجهاز تفاعليًا مرة أخرى.

FORCE_DISABLE_HEVC_SUPPORT

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

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

FORCE_ENABLE_HEVC_SUPPORT

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

فرض تفعيل أحد التطبيقات لإتاحة إمكانية وسائط HEVC يؤدي ضبط هذه العلامة إلى إلغاء أي إعدادات تلقائية على مستوى نظام التشغيل للتطبيقات. يكون هذا الخيار غير مفعَّل تلقائيًا، ما يعني أنّه ستكون الأولوية للإعدادات التلقائية لنظام التشغيل. في حال تفعيل هذه العلامة والعلامة FORCE_DISABLE_HEVC_SUPPORT، سيتجاهل نظام التشغيل كلتا العلامتين.

FORCE_NON_RESIZE_APP

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

يؤدي هذا الخيار إلى فرض أن تكون الحزم التي تم تطبيقها غير قابلة لتغيير الحجم.

FORCE_RESIZE_APP

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

يؤدي هذا الخيار إلى فرض إمكانية تغيير حجم الحزم التي يتم تطبيقها عليها. لا نسمح إلا بتغيير الحجم في وضع النوافذ بملء الشاشة، ولكننا لا نفرض على التطبيق تفعيل وضع النوافذ المتعددة لتغيير الحجم.

HIDE_PROP_ICUBINARY_DATA_PATH

رقم تعريف التغيير: 171979766
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، ستتم إزالة إمكانية الوصول إلى الموقع android.icu.impl.ICUBinary.dataPath.

IGNORE_ALLOW_BACKUP_IN_D2D

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم تجاهل android:allowBackup للتطبيقات أثناء عمليات نقل البيانات من جهاز إلى جهاز (D2D).

IGNORE_FULL_BACKUP_CONTENT_IN_D2D

رقم تعريف التغيير: 180523564
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم تجاهل قواعد تضمين واستبعاد القواعد المحدَّدة باستخدام android:fullBackupContent أثناء عمليات النقل من جهاز إلى جهاز (D2D).

IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY

رقم تعريف التغيير: 169273070
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، تعرض الآن واجهة برمجة التطبيقات getSupportedLocales() قائمة لغات فارغة عند تركها بدون ضبط، بدلاً من لغة النظام التلقائية.

IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE

معرّف التغيير: 158482162
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم فرض إذن BACKUP المطلوب لـ isBackupServiceActive() على جهة الخدمة بدلاً من جهة العميل في BackupManager.

KEYSTORE_OPERATION_CREATION_MAY_FAIL

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

عند تفعيل هذه الميزة، قد يتعذّر إنشاء عملية ملف تخزين المفاتيح وفقًا لاستراتيجية التشذيب الجديدة. كان ملف تخزين المفاتيح يعمل على افتراض أنّ إنشاء عمليات التشفير ينجح دائمًا. مع ذلك، لا تملك خلفية KeyMint سوى عدد محدود من خانات التشغيل.

للحفاظ على مظهر خانات التشغيل "اللانهائية"، سيختفي البرنامج الخفي في "متجر Keystore" العمليات الأقل استخدامًا مؤخرًا في حال عدم توفّر خانة تشغيل. ونتيجةً لذلك، يمكن إنهاء العمليات الجيدة بشكل مبكر. وأدّى ذلك إلى فتح AndroidKeystore أمام رفض الخدمة (DoS) وحظر البث المباشر غير المقصود. على سبيل المثال، إذا تم تنشيط عدة تطبيقات في الوقت نفسه بسبب تحسينات إدارة الطاقة وحاولت تنفيذ عمليات تشفير، ستبدأ التطبيقات في إنهاء عمليات بعضها البعض بدون إحراز أي تقدم.

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

استراتيجية التشذيب: للعثور على مرشح مناسب، نحتسب الضعف للمتصل وكل عملية حالية. ويكون انعكاس قوة التشذيب (المتصل) أو مقاومة التشذيب (العملية الحالية) عكسية. ولكي يتمكّن المتصل من تقليم عملية ما، يجب أن يجد عملية تحتوي على دم أكبر من الخاص بها. لمزيد من التفاصيل عن استراتيجية التشذيب، اطّلِع على تنفيذ operation.rs. على نظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات) والإصدارات الأقدم، سيبحث KeyStore2 عن البرنامج الخفي لـ "ملف تخزين المفاتيح" بشأن إتاحة خانة تشغيل مجانية. بالنسبة إلى التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android (المستوى 30 لواجهة برمجة التطبيقات) والإصدارات الأقدم، ستظل عملية إعداد عنصر التشفير والتوقيع ناجحة دائمًا، ولكن قد تستغرق العملية وقتًا أطول. تستفيد جميع إصدارات Android من إمكانية جدولة خانة عمليات أكثر إنصافًا وتزيد من فرصة إتمام العملية بنجاح.

LOCK_DOWN_CLOSE_SYSTEM_DIALOGS

رقم تعريف التغيير: 174664365
الحالة التلقائية: تكون هذه الميزة مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، لا يمكن إرسال Intent.ACTION_CLOSE_SYSTEM_DIALOGS ما لم يكن التطبيق حاصلاً أيضًا على إذن android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS. يُرجى العِلم أنّ هذا هو الإصدار الأكثر تقييدًا من #DROP_CLOSE_SYSTEM_DIALOGS والذي يتوقّع أن يتوقّف التطبيق عن إرسال الغرض من Intent.ACTION_CLOSE_SYSTEM_DIALOGS هدفه بعد أن يبدأ التطبيق في استهداف Android 12 (المستوى 31 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.

LOCK_DOWN_COLLAPSE_STATUS_BAR

رقم تعريف التغيير: 173031413
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب الحصول على إذن Manifest.permission.STATUS_BAR لتصغير لوحات شريط الحالة لأسباب أمنية. تم استغلال هذا من خلال برنامج ضار لمنع المستخدم من الوصول إلى الإشعارات المهمة.

LOW_POWER_EXCEPTIONS

رقم تعريف التغيير: 168936375
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

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

MISSING_EXPORTED_FLAG

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب تحديد قيمة صريحة لسمة android:exported كلما تم تحديد فلتر أهداف.

لمزيد من المعلومات عن هذا التغيير، يمكنك الاطّلاع على مقالة تصدير المكوّنات بطريقة أكثر أمانًا.

NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE

معرّف التغيير: 207557677
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف Android 12 (المستوى 32 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.

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

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

NATIVE_HEAP_ZERO_INIT

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

تفعيل الإعداد الصفري تلقائيًا لعمليات تخصيص كومة الذاكرة المؤقتة الأصلية

NATIVE_MEMTAG_ASYNC

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

يمكنك تفعيل التحقق غير المتزامن (ASYNC) لعلامة الذاكرة في هذه العملية. لا تؤثّر هذه العلامة إلا في الأجهزة التي تتوافق مع إضافة وضع علامات الذاكرة (MTE) من ARM.

NATIVE_MEMTAG_SYNC

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

تفعيل التحقق من علامة الذاكرة المتزامنة (SYNC) في هذه العملية. لا تؤثّر هذه العلامة إلا في الأجهزة التي تتوافق مع إضافة وضع علامات الذاكرة (MTE) من ARM. في حال تفعيل كل من NATIVE_MEMTAG_ASYNC وهذا الخيار، تكون الأولوية لهذا الخيار ويتم تفعيل إضافة وضع علامات الذاكرة (MTE) في وضع "المزامنة".

NEVER_SANDBOX_DISPLAY_APIS

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

عندما يكون هذا الخيار مفعّلاً، يتم منع تطبيق وضع الحماية لواجهة برمجة التطبيقات Display API على نشاط مُعدّ للعرض على شاشة عريضة أفقيًا أو نشاط SCM. وستستمر واجهات برمجة التطبيقات Display API في توفير حدود DisplayArea.

للاطّلاع على مزيد من المعلومات حول هذا التغيير، يمكنك مراجعة القسم الوارد في صفحة تغييرات السلوك على نظام التشغيل Android 12 حول طرق العرض التي تم إيقافها نهائيًا.

NOTIFICATION_CANCELLATION_REASONS

رقم تعريف التغيير: 175319604
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

تسمح هذه الميزة للمستمعين إلى الإشعارات بفهم أسباب الإلغاء الجديدة الأكثر تحديدًا.

NOTIFICATION_TRAMPOLINE_BLOCK

معرّف التغيير: 167676448
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

لتحسين أداء التطبيقات وتجربة المستخدم، لا يمكن للتطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android استخدام الخدمات أو أجهزة استقبال البث كألعاب ترامبولين للإشعارات.

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

NULL_TELEPHONY_THROW_NO_CB

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

يتم استخدام هذه البيانات للتحقّق مما إذا كان إصدار حزمة تطوير البرامج (SDK) المستهدَف للعملية الحالية هو Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو إصدار أحدث.

يتم تطبيق الطريقة على الطرق التالية:

OVERRIDE_MIN_ASPECT_RATIO

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

يعتمد هذا التغيير على جميع التغييرات التي تفرض حدًّا أدنى معيّنًا لنسبة العرض إلى الارتفاع. يؤدي تفعيل هذا التغيير إلى السماح بتطبيق الحدّ الأدنى لنِسب العرض إلى الارتفاع التالية:

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

عند تفعيل OVERRIDE_MIN_ASPECT_RATIO أيضًا، يؤدي تفعيل هذا التغيير لحزمة إلى ضبط الحد الأدنى لنسبة العرض إلى الارتفاع للنشاط على قيمة كبيرة كما هو محدَّد في OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

عند تفعيل OVERRIDE_MIN_ASPECT_RATIO أيضًا، يؤدي تفعيل هذا التغيير لإحدى الحِزم إلى ضبط الحد الأدنى لنسبة العرض إلى الارتفاع للنشاط على قيمة متوسطة على النحو المحدّد في OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED

رقم تعريف التغيير: 160794467
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، عليك تحديد قابلية التغيّر لكل عنصر من عناصر PendingIntent ينشئه تطبيقك. يساهم هذا الشرط الإضافي في تحسين مستوى أمان تطبيقك.

لمزيد من المعلومات عن هذا التغيير، راجِع الحالات في انتظار المراجعة يجب أن تعلن عن قابلية التغيّر.

PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT

رقم تعريف التغيير: 165573442
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

لا يمكن لتطبيقات المشرفين التي تستهدف Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث استخدام DevicePolicyManager.setPasswordQuality(ComponentName, int) لضبط جودة كلمة المرور على مثيل DevicePolicyManager الذي تم الحصول عليه من خلال طلب DevicePolicyManager.getParentProfileInstance(ComponentName). بدلاً من ذلك، عليهم استخدام DevicePolicyManager.setRequiredPasswordComplexity(int) لضبط متطلبات كلمة المرور العامة على مستوى الجهاز.

RATE_LIMIT_TOASTS

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

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

REQUIRE_EXACT_ALARM_PERMISSION

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب أن تحصل التطبيقات على إذن Manifest.permission.SCHEDULE_EXACT_ALARM لكي تتمكّن من استخدام أي واجهات برمجة تطبيقات لضبط المنبّهات المحدَّدة الوقت، مثل setExactAndAllowWhileIdle(int, long, PendingIntent) وsetAlarmClock(AlarmClockInfo, PendingIntent).

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID

رقم تعريف التغيير: 182478738
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب أن تحصل التطبيقات على إذن Manifest.permission.READ_PHONE_STATE لكي تطلب البيانات TelephonyCallback.ActiveDataSubscriptionIdListener.

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO

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

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب أن تحصل التطبيقات على إذن Manifest.permission.READ_PHONE_STATE لكي تطلب البيانات TelephonyCallback.CellInfoListener.

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO

رقم تعريف التغيير: 183164979
الحالة التلقائية: يكون هذا الخيار مفعَّلاً للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب أن تحصل التطبيقات على إذن Manifest.permission.READ_PHONE_STATE لكي تطلب البيانات TelephonyCallback.DisplayInfoListener.

RESTRICT_ADB_BACKUP

رقم تعريف التغيير: 171032338
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم تفعيل adb backup تلقائيًا للتطبيقات التي تعمل على أنّها قابلة للتصحيح (android:debuggable مضبوطة على true) وتكون غير متاحة لأي تطبيقات أخرى.

RESTRICT_DOMAINS

رقم تعريف التغيير: 175408749
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب إدخال النموذج المعدَّل لواجهة برمجة التطبيقات للتحقّق من روابط التطبيقات. يعني هذا الشرط أنّ التطبيق يجب أن يذكر النطاقات داخل فلتر أهداف يتضمّن جميع ما يلي:

  • android:autoVerify="true"
  • Intent.ACTION_VIEW
  • Intent.CATEGORY_BROWSABLE
  • Intet.CATEGORY_DEFAULT
  • IntentFilter.SCHEME_HTTP و/أو IntentFilter.SCHEME_HTTPS فقط، بدون مخططات أخرى

في إصدارات Android السابقة، لم يكن Intent.CATEGORY_BROWSABLE مطلوبًا، وكان مسموحًا بأنظمة أخرى، كما أنّ ضبط autoVerify على true في أي فلتر أهداف سيؤدي بشكل ضمني إلى التظاهر بأنّ جميع فلاتر الأهداف قد تم ضبطها على autoVerify="true".

SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE

رقم تعريف التغيير: 151105954
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، تفرض تحديد جميع attributionTags التي تم إرسالها إلى noteOp(String, int, String) وnoteProxyOp(String, String) وstartOp(String, int, String) في ملف بيان الحزمة الذي يتم تحديده كمَعلمة للطُرق.

لتفعيل هذا التغيير، يجب تفعيل هذا التغيير في كل من الحزمة التي تستدعي noteOp(String, int, String) والحزمة المحدّدة كمَعلمة للطريقة.

SELINUX_LATEST_CHANGES

معرّف التغيير: 143539591
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب تفعيل أحدث تغييرات SELinux. ويُرجى العلم أنّ إيقاف هذا التغيير لتطبيق يستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث هو إجراء لا ننصح باستخدامه، وليس له أي تأثير في التطبيقات التي تستخدم رقم تعريف مستخدم مشترَكًا.

SETTINGS_API_V2

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

لم يتم بعد تنفيذ واجهة برمجة التطبيقات الجديدة التي يفضّلها المستخدم لإثبات ملكية النطاقات التي تم وضع علامة autoVerify=true عليها في فلاتر الأهداف AndroidManifest.xml في معاينة النظام الأساسي الحالية. في الوقت الحالي، يمكن معاينة التغييرات الجديدة التي تطرأ على الإعدادات المفضّلة للمستخدِم من خلال تفعيل ChangeId هذا واستخدام adb shell pm set-app-links-user-selection والأوامر المشابهة.

USE_SHORT_FGS_USAGE_INTERACTION_TIME

رقم تعريف التغيير: 183972877
الحالة التلقائية: تكون مفعّلة للتطبيقات التي تستهدف الإصدار Android 12 (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم تحديد ما إذا كان يجب استخدام مهلة أقصر قبل رفع حزمة الاستعداد إلى ACTIVE عندما تبدأ التطبيقات خدمة تعمل في المقدّمة.