تغييرات إطار عمل التوافق (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.

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

BLOCK_FLAG_SLIPPERY

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

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

BLOCK_GPS_STATUS_USAGE

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

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

BLOCK_IMMUTABLE_PENDING_INTENTS

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

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

BLOCK_PENDING_INTENT_SYSTEM_API_USAGE

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

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

CHANGE_ID_AUTH_STATE_DENIED

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

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

CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION

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

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

DELIVER_HISTORICAL_LOCATIONS

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

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

DISPLAY_INFO_NR_ADVANCED_SUPPORTED

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

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

DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE

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

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

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

DROP_CLOSE_SYSTEM_DIALOGS

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

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

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

ENABLE_CHECKS_FOR_PRIVATE_FILES

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

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

ENABLE_DEFERRED_SCAN

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

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

ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION

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

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

ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION

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

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

ENABLE_INCLUDE_ALL_VOLUMES

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

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

ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES

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

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

FGS_START_EXCEPTION_CHANGE_ID

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

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

FINISH_INPUT_NO_FALLBACK_CONNECTION

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

بالنسبة إلى التطبيقات التي تستهدف Android 12 (المستوى 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، حيث يجب أن تعلن التطبيقات عن إمكانات الوسائط المتوافقة في ملف البيان، ولكن يمكن استخدام هذه العلامة لفرض توافق أحد التطبيقات مع HEVC، وبالتالي تجنُّب تحويل الترميز أثناء الوصول إلى الوسائط المُرمّزة في HEVC. يؤدي ضبط هذه العلامة إلى إلغاء أي إعدادات تلقائية على مستوى نظام التشغيل للتطبيقات. يكون هذا الخيار غير مفعّل تلقائيًا، ما يعني أنّ الإعدادات التلقائية لنظام التشغيل ستحظى بالأولوية. إذا تم تفعيل كل من هذه العلامة وFORCE_DISABLE_HEVC_SUPPORT، يتجاهل نظام التشغيل كلتا العلامتَين.

FORCE_NON_RESIZE_APP

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

يفرض عدم إمكانية تغيير حجم الحِزم التي يتم تطبيقه عليها.

FORCE_RESIZE_APP

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

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

HIDE_PROP_ICUBINARY_DATA_PATH

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

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

KEYSTORE_OPERATION_CREATION_MAY_FAIL

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

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

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

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

استراتيجية التقليم: للعثور على مرشح مناسب، نحسب العقوبة للمُتصل وكل عملية حالية. إنّ malus هو عكس قوة التقليم (المُتصل) أو مقاومة التقليم (العملية الحالية). لكي يتمكّن المُرسِل من تقليم عملية، يجب أن يعثر على عملية ذات عقوبة أعلى من العقوبة التي يفرضها. لمزيد من التفاصيل حول استراتيجية التقليم، اطّلِع على عملية تنفيذ operation.rs. في الإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) والإصدارات الأقدم، سيستطلِع KeyStore2 الخدمة الدائمة Keystore بحثًا عن خانة عملية مجانية. بالنسبة إلى التطبيقات التي تستهدف الإصدار Android 11 (المستوى 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 بعد بدء تشغيله لاستهداف الإصدار 12 من Android (المستوى 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
الحالة التلقائية: مفعَّل للتطبيقات التي تستهدف الإصدار 12 من Android (المستوى 31 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.

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

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

NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE

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

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

لمزيد من المعلومات عن هذا التغيير، يُرجى الاطّلاع على المؤشرات المُشار إليها.

NATIVE_HEAP_ZERO_INIT

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

تفعيل الإعداد التلقائي للقيمة 0 لعمليات تخصيص ذاكرة الشريحة الأساسية

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 من تطبيقه على نشاط مربّع الصورة أو إدارة سلسلة الإمداد. ستستمر واجهات برمجة التطبيقات Display APIs في توفير حدود DisplayArea.

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

NOTIFICATION_CANCELLATION_REASONS

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

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

NOTIFICATION_TRAMPOLINE_BLOCK

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

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

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

NULL_TELEPHONY_THROW_NO_CB

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

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

RATE_LIMIT_TOASTS

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

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

REQUIRE_EXACT_ALARM_PERMISSION

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

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

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO

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

بالنسبة إلى التطبيقات التي تستهدف Android 12 (المستوى 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 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

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

RESTRICT_DOMAINS

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

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

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

SELINUX_LATEST_CHANGES

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

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