نظرة عامة على الميزات وواجهات برمجة التطبيقات

يقدّم Android 12 ميزات وواجهات برمجة تطبيقات جديدة رائعة للمطوّرين. تساعدك الأقسام أدناه في التعرّف على ميزات تطبيقاتك وبدء استخدامها. مع واجهات برمجة التطبيقات ذات الصلة.

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

تجربة المستخدم

Material You

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

Material You

تحسينات على التطبيقات المصغّرة

يجدّد Android 12 واجهة Widgets API الحالية لتحسين تجربة المستخدم والمطوّر. خبرة في النظام الأساسي ومشغلات الجوال. لقد أنشأنا دليلاً لمساعدتك التأكّد من توافق التطبيق المصغّر مع نظام Android 12 وإعادة تحميله الجديدة.

الاطّلاع على التحسينات على تطبيقات Android 12 المصغّرة للتعرّف على مزيد من المعلومات.

إدراج محتوى منسّق

يقدّم Android 12 واجهة برمجة تطبيقات موحّدة جديدة تتيح لتطبيقك تلقّي محتوى وافٍ من أي مصدر متاح: الحافظة أو لوحة المفاتيح أو ميزة السحب انخفاض.

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

واجهة برمجة تطبيقات شاشات بداية التطبيق

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

واجهات برمجة التطبيقات مستديرة الزوايا

نقدّم لك Android 12 RoundedCorner وWindowInsets.getRoundedCorner(int position)، التي توفر نصف القطر والنقطة المركزية للزوايا الدائرية.

لمزيد من المعلومات، يُرجى الاطّلاع على الزوايا المستديرة.

تجارب حسّية تفاعلية

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

تأثيرات المشغّل

يضيف Android 12 تأثيرات معبّرة مثل منخفضة وضع علامة على الاستفادة من النطاق الترددي الواسع للترددات الأحدث للمشغلات. وضع اللعبة يمكن لمطوّري البرامج الآن الوصول إلى صفحات متعددة ومختلفة المشغِّلات بشكل مستقل في اللعبة وحدات التحكم لتقديم نفس التأثير بشكل متزامن أو مختلف باللمس على عدة مشغلات. بالنسبة إلى المطوّرين، ننصح باستخدام الثوابت المبادئ الأولية الوحدات الأساسية لتأثيرات اللمس الغنية - وهي ثوابت لتحسين أحداث واجهة المستخدم الملحن باللمس إلى التسلسل الأساسية للتأثيرات الأكثر تعقيدًا. يمكن تجربة واجهات برمجة التطبيقات هذه على هواتف Pixel 4. ونواصل العمل مع شركائنا من صناع الأجهزة لتوفير هي أحدث ميزات دعم تقنية اللمس للمستخدمين عبر المنظومة المتكاملة.

تأثيرات اللمس المقترنة بالصوت

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

يمكنك الاطّلاع على HapticGenerator. وثائق مرجعية لمزيد من المعلومات.

البحث في التطبيقات

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

مخطّط بياني يوضّح الفهرسة والبحث ضمن AppSearch

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

يمكنك التعرف على مزيد من المعلومات حول AppSearch في دليل المطوِّر، وابدأ في استخدامه مع مكتبة AppSearch Jetpack، التي توفر واجهة برمجة تطبيقات مناسبة للمطورين بالإضافة إلى معالج للتعليقات التوضيحية والدعم.

وضع اللعبة

واجهة برمجة التطبيقات لوضع الألعاب ووضع الألعاب التدخلات لتحسين عن أسلوب اللعب من خلال إعطاء الأولوية لخصائص مثل الأداء أو عمر البطارية استنادًا إلى إعدادات المستخدمين أو الإعدادات الخاصة باللعبة.

لمزيد من المعلومات، يُرجى الاطّلاع على وضع الألعاب.

الاقتراحات بشأن ميزة "نافذة ضمن النافذة" والتحسينات عليها

يقدّم نظام التشغيل Android 12 التحسينات التالية في وضع "نافذة ضمن النافذة":

إتاحة إيماءات جديدة لميزة "نافذة ضمن النافذة" (PIP)

يتيح نظام Android 12 الآن الإخفاء والتصغير أو التكبير بإصبعين الإيماءات الخاصة بميزة "نافذة ضمن النافذة" النافذة:

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

  • يمكن للمستخدم الآن تغيير حجم النافذة في "نافذة ضمن النافذة" باستخدام التكبير/التصغير بإصبعَين.

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

وفي ما يلي الميزات التالية:

إشعارات مكالمات هاتفية جديدة تسمح بترتيب أهمية المكالمات الواردة

Android 12 يضيف نمط الإشعارات الجديد Notification.CallStyle للمكالمات الهاتفية. يتيح استخدام هذا النموذج لتطبيقك الإشارة إلى أهمية مكالمات نشطة من خلال عرض شريحة بارزة تعرض وقت المكالمة في شريط الحالة؛ يمكن للمستخدم النقر على هذه الشريحة للعودة إلى مكالمته.

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

نفِّذ الرمز التالي لجميع أنواع المكالمات.

Kotlin

// Create a new call with the user as caller.
val incoming_caller = Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build()

Java

// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build();

استخدام forIncomingCall() لإنشاء إشعار نمط المكالمات لمكالمة واردة.

Kotlin

// Create a call style notification for an incoming call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller)

Java

// Create a call style notification for an incoming call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller);

استخدام forOngoingCall() لإنشاء إشعار نمط مكالمة لمكالمة جارية.

Kotlin

// Create a call style notification for an ongoing call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller)

Java

// Create a call style notification for an ongoing call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller);

استخدام forScreeningCall() لإنشاء إشعار نمط المكالمة لفحص المكالمة.

Kotlin

// Create a call style notification for screening a call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller)

Java

Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller);

دعم الصور المفصَّل للإشعارات

في Android 12، يمكنك الآن تحسين تجربة الإشعارات في تطبيقك من خلال توفير صور متحركة في MessagingStyle() وBigPictureStyle() الإشعارات. يمكن أيضًا لتطبيقك الآن السماح للمستخدمين بإرسال رسائل مصوّرة عند يرد على الرسائل من مركز الإشعارات.

تحسينات في الوضع المجسم للتنقّل بالإيماءات

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

مشاركة عناوين URL الحديثة (على هواتف Pixel فقط)

على أجهزة Pixel، يمكن للمستخدمين الآن مشاركة روابط تؤدي إلى محتوى الويب الذي تم عرضه مؤخرًا. مباشرةً من شاشة "أحدث الأماكن". وبعد الانتقال إلى المحتوى في أحد التطبيقات، على المستخدم التمرير سريعًا إلى شاشة "الأماكن الأخيرة" والعثور على التطبيق الذي شاهدوا المحتوى من خلاله، ثم انقر على زر الرابط لنسخ عنوان URL أو مشاركته.

لمزيد من المعلومات، يُرجى الاطّلاع على تفعيل عنوان URL الأخير. التي تتم مشاركتها.

الأمان والخصوصية

لوحة بيانات الخصوصية

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

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

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

أذونات البلوتوث

يقدّم Android 12 BLUETOOTH_SCAN، BLUETOOTH_ADVERTISE, أو BLUETOOTH_CONNECT الأذونات. تسهّل هذه الأذونات على التطبيقات التي تستهدف استخدام Android 12 للتفاعل باستخدام البلوتوث الأجهزة، خاصةً بالنسبة إلى التطبيقات التي تتطلب الوصول إلى موقع الجهاز.

تعديل بيانات أذونات الوصول إلى البلوتوث في تطبيقك

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

البحث عن مجموعة الأذونات

في الإصدار 12 من نظام التشغيل Android أو الإصدارات الأحدث، يمكنك الاستعلام عن كيفية تنظيم النظام الأذونات التي توفّرها المنصة مجموعات الأذونات:

  • لتحديد مجموعة الأذونات التي وضع النظام فيها إذن محدد من خلال النظام الأساسي، طلب getGroupOfPlatformPermission()
  • لتحديد الأذونات التي يحددها النظام الأساسي التي ودعها النظام أو مجموعة أذونات معيّنة أو استدعاء getPlatformPermissionsForGroup()

إخفاء نوافذ تراكب التطبيقات

لمنح المطوّرين المزيد من التحكّم في ما يراه المستخدمون عند تفاعلهم مع Android 12، الذي يوفر إمكانية إخفاء نوافذ مركّبة ترسمها تطبيقات تحتوي على SYSTEM_ALERT_WINDOW إذن.

بعد إعلان HIDE_OVERLAY_WINDOWS إذن، يمكن للتطبيق استدعاء setHideOverlayWindows() للإشارة إلى أن جميع النوافذ من النوع TYPE_APPLICATION_OVERLAY يجب إخفاء هذه النافذة عندما تكون نافذة التطبيق مرئية. قد تختار التطبيقات إجراء هذا عند عرض الشاشات الحسّاسة، مثل مسارات تأكيد المعاملات.

يجب مراعاة الإرشادات في التطبيقات التي تعرض نوافذ من النوع TYPE_APPLICATION_OVERLAY بدائل قد تكون أكثر ملاءمة لحالة الاستخدام الخاصة بها، مثل نافذة ضمن النافذة أو فقاعات تفسيرية

علامة حماية إذن الموقِّعين المعروفين

بدءًا من نظام التشغيل Android 12، سمة knownCerts لـ الأذونات على مستوى التوقيع بالإشارة إلى ملخصات التوقيعات المعروفة الشهادات عند البيان الوقت.

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

مصادقة خصائص الجهاز

يوسِّع نظام Android 12 مجموعة التطبيقات التي يمكنها التحقّق من خصائص الجهاز التي في مصادقة الشهادة عندما تنشئ هذه التطبيقات مفتاحًا جديدًا.

اعتبارًا من Android 9 (المستوى 28 من واجهة برمجة التطبيقات)، سياسة الجهاز" المالكون (DPOs) الذين يستخدمون يمكن لإصدار Keymaster 4.0 أو إصدار أحدث التحقق من خصائص الجهاز في شهادات المصادقة هذه. ستبدأ بعد على Android 12، يمكن لأي تطبيق يستهدف الإصدار 12 من Android (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث منه. عملية التحقق هذه باستخدام setDevicePropertiesAttestationIncluded() .

تشمل خصائص الجهاز التي تم إنشاؤها ما يلي: حقول Build:

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

إجراءات الإشعارات الآمنة لشاشة القفل

بدءًا من نظام التشغيل Android 12، سيتم منح فئة Notification.Action.Builder يدعم setAuthenticationRequired() التي تسمح لتطبيقك بطلب تم فتح القفل قبل أن يستدعي تطبيقك إجراءً معينًا للإشعارات. تساعد هذه الطريقة في إضافة طبقة أمان إضافية للإشعارات على الأجهزة المُقفَلة

سلاسل يمكن ترجمتها لتطبيق BiometricPrompt

يوفِّر Android 12 واجهات برمجة تطبيقات جديدة لمساعدتك في تحسين المقاييس الحيوية لتطبيقك. تجربة المستخدم للمصادقة. BiometricManager.Strings الجديد تتضمن الفئة المتداخلة getButtonLabel()، getPromptMessage(), وgetSettingName() تتيح لتطبيقك استرداد تصنيف زر سهل القراءة من قبل المستخدم ومترجمه، أو رسالة المطالبة أو اسم إعداد التطبيق. استخدِم هذه التصنيفات لإنشاء إحصاءات أكثر دقة هي التعليمات الموجّهة للمستخدمين والخاصة بالمصادقة باستخدام المقاييس الحيوية الطرق المستخدمة، مثل "استخدام ميزة فتح الجهاز بالتعرف على الوجه" أو "استخدام بصمة الإصبع للمتابعة".

رصد التصيّد الاحتيالي في تطبيقات المراسلة (على هواتف Pixel فقط)

يشاهد المستخدم رسالة مثل هذه عند استلام رسالة مريبة .

على أجهزة Pixel المتوافقة، يوفّر Android 12 ميزة رصد التصيّد الاحتيالي على الرسائل. التي تلقيتها في تطبيقات المراسلة الشائعة. يستخدم النظام تقنية تعلُّم الآلة على الجهاز. لرصد الأنشطة المريبة يعرض النظام رمز الأمان عند رصده. ظهور رسالة على واجهة المستخدم في تطبيق المراسلة لتحذير المستخدمين على سبيل المثال، التصيّد الاحتيالي تحذير المستخدمين من المخاطر المحتملة التالية:

  • الطلبات المريبة، مثل إرسال رمز أو أموال أو ما شابه ذلك
  • عناوين URL غير الموثوق بها
  • المرفقات الضارة
  • روابط تؤدي إلى تطبيقات ضارة

بالإضافة إلى تحذير المستخدم، يتيح التراكب أيضًا للمستخدم الإبلاغ عن رسالة مريبة بالإضافة إلى تقديم ملاحظات بشأن التحذيرات الصادرة عن النظام.

يمكن للمطوّرين إيقاف هذه الميزة من خلال إضافة علامة بيانات وصفية جديدة تتضمّن السلسلة com.google.android.ALLOW_PHISHING_DETECTION في بيان التطبيق الملفات. مثلاً:

<manifest>
    <application android:name="com.messagingapp">
        <meta-data android:name="com.google.android.ALLOW_PHISHING_DETECTION" android:value="false" />

    </application>
</manifest>

الوسائط

تحويل ترميز الوسائط المتوافق

بدءًا من الإصدار 12 من Android (المستوى 31 من واجهة برمجة التطبيقات)، يمكن للنظام تحويل الترميز تلقائيًا HEVC(H.265) HDR (HDR10 وHDR10+ ) الفيديوهات المسجلة على الجهاز إلى AVC (H.264)، وهو تنسيق شائع الاستخدام متوافقة مع مشغّلات الفيديو العادية ويستفيد هذا من برامج الترميز الحديثة عند توفرها دون التضحية بالتوافق مع التطبيقات القديمة.

يمكنك الاطّلاع على عمليات تحويل الترميز المتوافقة للوسائط للحصول على مزيد من التفاصيل.

صف الأداء

يقدّم Android 12 معيارًا يُسمى فئة الأداء. حاسمة تشير "فئة الأداء" إلى إمكانيات الأجهزة التي تختلف عن المتوقع في Android. متطلبات المشروع. يذكر كل جهاز من أجهزة Android فئة الأداء التي والدعم. يمكن للمطوّرين التحقّق من فئة أداء الجهاز في وقت التشغيل لتقديم تجارب محسَّنة تستفيد بشكل كامل من ميزات الجهاز والإمكانات.

الاطّلاع على فئة الأداء لمزيد من التفاصيل.

تحسينات على ترميز الفيديوهات

يحدِّد نظام التشغيل Android 12 مجموعة عادية من المفاتيح للتحكّم في معامل التحديد (QP) لترميز الفيديو، ما يسمح للمطوّرين تجنب التعليمات البرمجية الخاصة بالبائع.

تتوفر المفاتيح الجديدة في واجهة برمجة التطبيقات MediaFormat وأيضًا في مكتبة وسائط NDK.

البدء باستخدام برامج ترميز الفيديوهات التي تعمل بنظام التشغيل Android 12 لفرض حد أدنى للجودة الحد الأقصى المسموح به. وهذا يضمن ألا يحصل المستخدمون على جودة منخفضة للغاية عند ترميز الفيديوهات ذات المشهد العالي التعقيد.

التركيز على الصوت

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

الاطّلاع على ميزة "التركيز على الصوت" في Android 12 والإصدارات الأحدث لمزيد من التفاصيل.

الإشعارات من MediaDrm

لتحديد ما إذا كان مطلوبًا استخدام مكون برنامج فك ترميز آمن مع واجهات MediaDrm API الحالية، عليك اتّباع الخطوات التالية:

  1. إنشاء MediaDrm
  2. افتح جلسة للحصول على معرِّف الجلسة.
  3. أنشئ MediaCrypto باستخدام معرّف الجلسة.
  4. الاتصال بالرقم MediaCrypto.requiresSecureDecoderComponent(mimeType).

باستخدام الطريقتين الجديدتين requiresSecureDecoder(@NonNull String mime) requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level) يمكنك تحديد ذلك فور إنشاء MediaDrm.

الكاميرا

إضافات مورّدي Camera2

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

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

لمزيد من المعلومات، يُرجى مراجعة CameraExtensionCharacteristics

دعم أداة استشعار الكاميرا الرباعية

يتوفر في العديد من أجهزة Android اليوم أجهزة استشعار كاميرا فائقة الدقة، عادةً مع أنماط Quad أو Nona Bayer، وتوفر مرونة كبيرة في المتعلقة بجودة الصور والأداء في الإضاءة المنخفضة. ميزات جديدة في Android 12 التي تتيح للتطبيقات التابعة لجهات خارجية الاستفادة بشكل كامل من هذه الواجهات المتعدّدة الاستخدامات أجهزة الاستشعار. واجهات برمجة التطبيقات الجديدة للسلوك الفريد لهذه المستشعرات وتأخذ في الاعتبار أنها يمكن فيها استخدام إعدادات ومجموعات بث مختلفة عند استخدامها الدقة الكاملة أو وضع "الحد الأقصى للدقة" مقابل الوضع "الافتراضي".

رسومات وصور

منح التطبيقات إمكانية الوصول المباشر إلى سجلّ آثار القبور

بدءًا من نظام التشغيل Android 12، يمكنك الوصول إلى سجل ضريح الأعطال الأصلي لتطبيقك باعتباره المخزن المؤقت للبروتوكول من خلال ApplicationExitInfo.getTraceInputStream() . يكون المخزن المؤقت للبروتوكول تسلسليًا باستخدام هذا المخطط. في السابق، كانت الطريقة الوحيدة للوصول إلى هذه المعلومات هي عبر Android Debug Bridge (adb).

لمزيد من المعلومات، يُرجى الاطّلاع على منح التطبيقات إمكانية الوصول المباشر إلى آثار سجلّ القبور

إتاحة صور AVIF

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

تسهيل عمليات التمويه وفلاتر الألوان والتأثيرات الأخرى

نظام التشغيل Android 12 يضيف ميزات RenderEffect الجديدة تطبّق تأثيرات الرسومات الشائعة مثل التمويه وفلاتر الألوان وتظليل Android والتأثيرات والمزيد على View وعرض التسلسلات الهرمية. يمكن دمج التأثيرات كتأثيرات سلسلة. (التي تؤلف تأثيرًا داخليًا وخارجيًا) أو تأثيرات مدمجة. جهاز Android مختلف قد تتوافق الأجهزة أو لا تتوافق مع هذه الميزة بسبب طاقة المعالجة المحدودة.

يمكن أيضًا تطبيق التأثيرات على RenderNode الأساسي لمدة View ثانية من خلال الاتصال بالرقم View.setRenderEffect(RenderEffect).

لتنفيذ RenderEffect:

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

فك ترميز الصور المتحركة الأصلية

في Android 12، وضع NDK تم توسيع واجهة برمجة التطبيقات ImageDecoder لفك ترميز جميع الإطارات وبيانات التوقيت من الصور التي تستخدم GIF المتحركة المتحركة بتنسيقات ملفات WebP. عندما في Android 11، حيث فك ترميز واجهة برمجة التطبيقات هذه أول صورة من والرسوم المتحركة بهذه التنسيقات.

يمكنك استخدام ImageDecoder بدلاً من مكتبات الجهات الخارجية لخفض مستوى حزمة APK بشكل أكبر. المقاس والاستفادة من التحديثات المستقبلية المتعلقة بالأمان والأداء.

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

إمكانية الاتصال

إبقاء التطبيقات المصاحبة نشطة

لتلبية حاجة التطبيقات المصاحبة للاستمرار في العمل لإدارة الجهاز، يقدّم نظام التشغيل Android 12 واجهات برمجة تطبيقات تؤدي المهام التالية:

  • يمكنك تفعيل أحد التطبيقات عند وجود جهاز مصاحب ضمن النطاق.
  • يجب ضمان استمرار العملية مع بقاء الجهاز ضمن حدوده النطاق.

لاستخدام واجهات برمجة التطبيقات، يجب توصيل أجهزتك باستخدام جهاز مصاحب المدير. لمزيد من المعلومات، المعلومات، راجع CompanionDeviceManager.startObservingDevicePresence() أو CompanionDeviceService.onDeviceAppeared()

الملفات الشخصية في أداة "مدير الأجهزة المصاحبة"

مربع حوار الأذونات الذي يستخدم الملف الشخصي لجهاز مصاحب من أجل طلب أذونات متعددة في طلب واحد.

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

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

لمزيد من المعلومات، يُرجى مراجعة AssociationRequest.Builder.setDeviceProfile()

التحسينات في تقدير معدل نقل البيانات

في Android 12، توفِّر إمكانات تقدير معدل نقل البيانات التي توفِّرها getLinkDownstreamBandwidthKbps() أو getLinkUpstreamBandwidthKbps() تم تحسينها لكل من اتصال Wi-Fi واتصال شبكة الجوّال. القيم التي تم عرضها الآن متوسط المعالجة المرجّحة لجميع البيانات لدى المستخدم حسب مشغّل شبكة الجوّال أو شبكة Wi-Fi SSID ونوع الشبكة ومستوى الإشارة في جميع التطبيقات على الجهاز. وقد ينتج عن ذلك تقدير أكثر دقة وواقعية لمعدل البيانات المتوقع، وتوفر تقديرات بشأن التشغيل على البارد لتطبيقك، وتتطلب دورات أقل عند مقارنته باستخدام طرق أخرى لتقدير سرعة معالجة البيانات.

تحسينات على تقنية Wi-Fi (NAN)

يضيف نظام Android 12 بعض التحسينات إلى خدمة Wi-Fi Aware:

  • على الأجهزة التي تعمل بنظام التشغيل Android 12 (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يمكنك استخدام onServiceLost() معاودة الاتصال ليتم تنبيهك عند فقدان تطبيقك لإحدى الخدمات بسبب تتوقف الخدمة أو تنتقل خارج النطاق.
  • تتغير طريقة إعداد مسارات بيانات متعددة (مسارات بيانات NAN) لتصبح أكثر كفاءة. كانت الإصدارات السابقة تستخدم المراسلة من المستوى الثاني لتبادل التطبيقات المشابهة معلومات البداية، الأمر الذي أدى إلى وقت الاستجابة. على الأجهزة التي تعمل يمكن ضبط المجيب (الخادم) في نظام التشغيل Android 12 والإصدارات الأحدث. قبول أي زميل - أي أنه لا يحتاج إلى معرفة المُبدأ المعلومات مقدمًا. يؤدي ذلك إلى تسريع عرض مسار البيانات وتمكين العديد من نقطة إلى نقطة مع طلب شبكة واحد فقط.
  • لمنع إطار العمل من رفض طلبات الاكتشاف أو الربط المستحقة إلى نفاد الموارد على الأجهزة التي تعمل بنظام التشغيل Android 12 أعلى، فيمكنك استدعاء WifiAwareManager.getAvailableAwareResources() تتيح لك القيمة المعروضة لهذه الطريقة الحصول على عدد البيانات المتاحة المسارات وعدد جلسات النشر المتاحة وعدد الجلسات المتاحة أو الاشتراك في جلسات محددة

اتصال نظير إلى نظير بشكل متزامن + اتصال بالإنترنت

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

تفعيل ميزة "إطفاء الشاشة" لتسديد دفعات عبر NFC

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

مساحة التخزين

نظام Android 12 يقدّم الإدارة التالية لمساحة التخزين الإمكانات:

الوظيفة الأساسية

التحديثات التلقائية للتطبيقات

يقدّم Android 12 setRequireUserAction() للتطبيقات التي تستخدم PackageInstaller واجهة برمجة التطبيقات. تسمح هذه الطريقة لتطبيقات أدوات التثبيت بإجراء تحديثات للتطبيقات بدون الحاجة إلى المستخدم لتأكيد الإجراء.

معلومات مجموعة شرائح الجهاز

يضيف Android 12 ثابتين إلى android.os.Build يعرضان بائع شريحة منظومة المنظومة على الرقاقة ومعلومات الطراز عبر حزمة تطوير البرامج (SDK). يمكنك استرداد هذه المعلومات من خلال الاتصال بـ Build.SOC_MANUFACTURER وBuild.SOC_MODEL على التوالي.

تحديثات على واجهات برمجة تطبيقات Java الأساسية

بناءً على الطلبات والتعاون مع المطوّرين، أضفنا ما يلي: المكتبات الأساسية في Android 12:

الفئة واجهات برمجة التطبيقات
java.lang.Deprecated
java.lang.Byte
java.lang.Short
java.lang.Math
java.lang.StrictMath
java.util.Set copyOf()
java.util.Map copyOf()
java.util.List copyOf()
java.time.Duration
java.time.LocalTime