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

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

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

RenderScript

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

قوائم تشغيل Android

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

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

عمليات إيقاف واجهة برمجة التطبيقات للشبكة الإعلانية

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

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

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

تجدر الإشارة إلى أنّ مكتبة WindowManager Jetpack تتضمّن فئة 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();