مع كل إصدار، قد تصبح واجهات برمجة تطبيقات 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();