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

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

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

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

BLOCK_PENDING_INTENT_SYSTEM_API_USAGE

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

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

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

CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION

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

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

DELIVER_HISTORICAL_LOCATIONS

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

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

DISPLAY_INFO_NR_ADVANCED_SUPPORTED

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

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

DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE

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

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

DROP_CLOSE_SYSTEM_DIALOGS

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

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

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

ENABLE_CHECKS_FOR_PRIVATE_FILES

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

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

ENABLE_DEFERRED_SCAN

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

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

ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION

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

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

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

FGS_START_EXCEPTION_CHANGE_ID

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

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

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

IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY

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

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

IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE

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

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

KEYSTORE_OPERATION_CREATION_MAY_FAIL

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

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

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

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

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

LOCK_DOWN_CLOSE_SYSTEM_DIALOGS

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

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

LOCK_DOWN_COLLAPSE_STATUS_BAR

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

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

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

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

NATIVE_HEAP_ZERO_INIT

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

يمكنك تفعيل الإعداد التلقائي لعمليات توزيع الذاكرة الأصلية لأجزاء من الذاكرة.

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

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

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

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

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

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

PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT

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

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

بالنسبة إلى التطبيقات التي تستهدف Android 12 (المستوى 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. معاينة النظام الأساسي الحالية. في الوقت الحالي، من الممكن معاينة التغييرات الجديدة للإعدادات المفضّلة للمستخدم من خلال تفعيل رقم تعريف التغيير هذا واستخدام adb shell pm set-app-links-user-selection وأوامر مشابهة

USE_SHORT_FGS_USAGE_INTERACTION_TIME

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

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