الميزات التي سيتم إيقافها نهائيًا

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

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

RenderScript

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

قوائم التشغيل على Android

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

ننصحك بقراءة قوائم التشغيل وحفظها كملفات m3u.

عرض واجهات برمجة التطبيقات المتوقّفة نهائيًا

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

في Android 12، نواصل اقتراح استخدام WindowMetrics ونوقف نهائيًا هذه الطرق:

يجب أن تستخدم التطبيقات واجهات برمجة التطبيقات WindowMetrics للاستعلام عن حدود النافذة، أو Configuration.densityDpi للاستعلام عن الكثافة الحالية.

يُرجى العِلم أنّ مكتبة Jetpack WindowManager تتضمّن فئة WindowMetrics تتوافق مع الإصدار 4.0.1 من نظام التشغيل Android (المستوى 14 من واجهة برمجة التطبيقات) والإصدارات الأحدث.

أمثلة

إليك بعض الأمثلة على كيفية استخدام WindowMetrics.

أولاً، تأكَّد من أنّ تطبيقك يتيح تغيير حجم أنشطته بالكامل.

يجب أن يعتمد النشاط على WindowMetrics من سياق النشاط لأي عمل متعلق بواجهة المستخدم، خاصةً WindowManager.getCurrentWindowMetrics().

إذا كان تطبيقك ينشئ MediaProjection، يجب أن تكون الحدود بالحجم الصحيح لأنّ العرض يلتقط الشاشة. إذا كان التطبيق قابلاً لتغيير الحجم بالكامل، سيعرض سياق النشاط الحدود الصحيحة.

Kotlin

val projectionMetrics = activityContext
        .getSystemService(WindowManager::class.java).maximumWindowMetrics

Java

WindowMetrics projectionMetrics = activityContext
        .getSystemService(WindowManager.class).getMaximumWindowMetrics();

إذا لم يكن التطبيق قابلاً لتغيير حجمه بالكامل، يجب أن يطلب الحدود من مثيل WindowContext، واسترداد WindowMetrics للحد الأقصى لمساحة العرض المتاحة للتطبيق باستخدام WindowManager.getMaximumWindowMetrics()

Kotlin

val windowContext = context.createWindowContext(mContext.display!!,
      WindowManager.LayoutParams.TYPE_APPLICATION, null)
val projectionMetrics = windowContext.getSystemService(WindowManager::class.java)
      .maximumWindowMetrics

Java

Context windowContext = mContext.createWindowContext(mContext.getDisplay(),
      WindowManager.LayoutParams.TYPE_APPLICATION, null;
WindowMetrics projectionMetrics = windowContext.getWindowManager()
      .getMaximumWindowMetrics();