الإيقاف

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

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

لغة RenderScript

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

قوائم تشغيل Android

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

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

الإيقاف النهائي لواجهة برمجة التطبيقات Display API

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

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

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

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