واجهات برمجة تطبيقات Android 3.2

مستوى واجهة برمجة التطبيقات: 13

إصدار Android 3.2 (HONEYCOMB_MR2) هو إصدار تزايدي من النظام الأساسي يضيف إمكانات جديدة للمستخدمين والمطوّرين. تقدم الأقسام أدناه نظرة عامة على الميزات الجديدة وواجهات برمجة التطبيقات للمطورين.

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

أهم تفاصيل المنصة

الميزات الجديدة للمستخدمين

  • تحسينات لمجموعة أكبر من الأجهزة اللوحية

    يتضمن Android 3.2 مجموعة متنوعة من التحسينات عبر النظام لضمان تجربة مستخدم رائعة على مجموعة أكبر من الأجهزة اللوحية.

  • تكبير/تصغير التوافق مع التطبيقات ذات الحجم الثابت

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

  • مزامنة الوسائط من بطاقة SD

    على الأجهزة المتوافقة مع بطاقة SD، يمكن للمستخدمين الآن تحميل ملفات الوسائط مباشرةً من بطاقة SD إلى التطبيقات التي تستخدمها. تجعل مرفق النظام الملفات في متناول التطبيقات من مخزن وسائط النظام.

ميزات جديدة للمطوّرين

  • واجهة برمجة تطبيقات موسّعة لإدارة دعم الشاشات

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

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

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

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

يقدم Android 3.2 شاشات جديدة تتوافق مع واجهات برمجة التطبيقات التي تمنحك مزيدًا من التحكم في كيفية عرض التطبيقات عبر أحجام الشاشات المختلفة. تعتمد واجهة برمجة التطبيقات على واجهة برمجة التطبيقات الحالية التي تدعم الشاشات، بما في ذلك نموذج كثافة الشاشة العام للنظام الأساسي، لكنّها توسِّع نطاقه من خلال إمكانية استهداف نطاقات شاشات معيّنة بدقة حسب أبعادها، ويتم قياسها بوحدات البكسل غير المرتبطة بالكثافة (على سبيل المثال، 600 بكسل مستقل الكثافة أو 720 بكسل مستقل الكثافة)، بدلاً من أحجام الشاشات المعممة (ككبيرة أو كبيرة).

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

  • أصغر عرض للشاشة هو الحد الأدنى الأساسي للحجم الذي يتم قياسه بوحدات البكسل غير المرتبطة بالكثافة ("dp"). من ارتفاع الشاشة أو عرضها، يكون الأقصر بين الاثنين. بالنسبة إلى الشاشة في الاتجاه الرأسي، يعتمد العرض الأصغر عادةً على عرضها، بينما يعتمد في الاتجاه الأفقي على ارتفاعها. في جميع الحالات، يتم اشتقاق أصغر قيمة من سمة ثابتة للشاشة ولا تتغير القيمة، بغض النظر عن الاتجاه. تُعد قيمة أصغر عرض مهمًا للتطبيقات لأنها تمثل أقصر عرض ممكن يجب رسم واجهة مستخدم التطبيق به، ولا تشمل مساحات الشاشة التي حجزها النظام.
  • في المقابل، يمثل العرض والارتفاع للشاشة المساحة الأفقية أو الرأسية الحالية المتاحة لتنسيق التطبيق، حيث يتم قياسها بوحدات "dp" ولا تشمل مساحات الشاشة التي حجزها النظام. يتغير عرض الشاشة وارتفاعها عندما يبدّل المستخدم الاتجاه بين الوضع الأفقي والعمودي.

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

  • مؤهلات موارد جديدة لاستهداف التخطيطات والموارد الأخرى بحد أدنى من العرض أو العرض أو الارتفاع
  • سمات جديدة في البيان لتحديد الحد الأقصى لنطاق توافق الشاشة في التطبيق

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

بما أنّ واجهة برمجة التطبيقات الجديدة تتيح لك استهداف الشاشات بشكل مباشر أكثر من خلال أصغر عرض وعرض وارتفاع، من المفيد فهم الخصائص النموذجية لأنواع الشاشات المختلفة. يقدم الجدول أدناه بعض الأمثلة تُقاس بوحدات "dp"

الجدول 1. الأجهزة المعتادة، التي تتضمّن كثافة وحجم وحدات البكسل غير المرتبطة بالكثافة

Type الكثافة (معممة) الأبعاد (dp) أصغر عرض (dp)
الهاتف الأساسي mdpi 320×480 320
جهاز لوحي صغير/هاتف كبير mdpi 480×800 480
جهاز لوحي مقاس 7 بوصات mdpi 600×1024 600
جهاز لوحي مقاس 10 بوصات mdpi 800×1280 800

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

مؤهِّلات موارد جديدة لدعم الشاشات

تتيح لك مؤهلات الموارد الجديدة في Android 3.2 استهداف التنسيقات بشكل أفضل لنطاقات أحجام الشاشات. وباستخدام المؤهِّلات، يمكنك إنشاء إعدادات للموارد مُصمَّمة لحد أدنى معيّن للعرض أو العرض الحالي أو الارتفاع الحالي، مُقاسًا بوحدات بكسل مستقلة الكثافة.

في ما يلي المؤهلات الجديدة:

  • swNNNdp — لتحديد الحد الأدنى للعرض الأصغر الذي يجب استخدام المورد عليه، وقياسه بوحدات "dp". كما هو مذكور أعلاه، تكون أصغر عرض للشاشة ثابتة، بغض النظر عن الاتجاه. أمثلة: sw320dp وsw720dp وsw720dp
  • wNNNdp وhNNNdp — يحدّد الحد الأدنى للعرض أو الارتفاع الذي يجب استخدام المورد عليه، وقياسه بوحدات "dp". كما ذكرنا أعلاه، يكون عرض الشاشة وارتفاعها متناسبين مع اتجاه الشاشة ويتغيران كلما تغير الاتجاه. أمثلة: w320dp وw720dp وh1024dp.

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

استنادًا إلى السمات النموذجية الواردة سابقًا، إليك بعض الأمثلة حول كيفية استخدام المؤهِّلات الجديدة:

res/layout/main_activity.xml   # For phones
res/layout-sw600dp/main_activity.xml   # For 7” tablets
res/layout-sw720dp/main_activity.xml   # For 10” tablets
res/layout-w600dp/main_activity.xml   # Multi-pane when enough width
res/layout-sw600dp-w720dp/main_activity.xml   # For large width

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

res/layout/main_activity.xml   # For phones
res/layout-xlarge/main_activity.xml   # For pre-3.2 tablets
res/layout-sw600dp/main_activity.xml   # For 3.2 and up tablets

وللحصول على معلومات كاملة عن كيفية استخدام المؤهِّلات الجديدة، يُرجى الاطّلاع على استخدام مؤهِّلات المقاسات الجديدة.

سمات جديدة في البيان لتوافق حجم الشاشة

ويوفّر إطار العمل مجموعة جديدة من سمات بيان <supports-screens> التي تتيح لك إدارة توافق تطبيقك مع أحجام الشاشات المختلفة. وعلى وجه التحديد، يمكنك تحديد الشاشات الأكبر والأصغر التي تم تصميم تطبيقك للتشغيل عليها، بالإضافة إلى أكبر شاشة تم تصميمه عليها لتعمل بدون الحاجة إلى وضع توافق الشاشة الجديد في النظام. مثل مؤهلات الموارد الموضحة أعلاه، تحدد سمات البيان الجديدة نطاق الشاشات التي يتيح التطبيق استخدامها، على النحو المحدد من خلال أصغر عرض.

سمات البيان الجديدة لدعم الشاشة هي:

  • android:compatibleWidthLimitDp="numDp" — تتيح لك هذه السمة تحديد الحد الأقصى للعرض الأصغر الذي يمكن تشغيل التطبيق عليه بدون الحاجة إلى وضع التوافق. وإذا كانت الشاشة الحالية أكبر من القيمة المحددة، يعرض النظام التطبيق في الوضع العادي ولكنه يسمح للمستخدم بالتبديل إلى وضع التوافق اختياريًا من خلال إعداد في شريط النظام.
  • android:largestWidthLimitDp="numDp" — تتيح لك هذه السمة تحديد الحد الأقصى للعرض الأصغر الذي تم تصميم التطبيق لتشغيله. في حال كانت الشاشة الحالية أكبر من القيمة المحدّدة، يفرض النظام على التطبيق تفعيل وضع التوافق مع الشاشة لضمان عرض أفضل على الشاشة الحالية.
  • android:requiresSmallestWidthDp="numDp" — تتيح لك هذه السمة تحديد الحد الأدنى الأصغر للعرض الذي يمكن تشغيل التطبيق عليه. وإذا كانت الشاشة الحالية أصغر من القيمة المحددة، يعتبر النظام التطبيق غير متوافق مع الجهاز ولكنه لا يمنع تثبيته وتشغيله.

ملاحظة: لا يُجري Google Play حاليًا فلترة للتطبيقات بناءً على أي من السمات الواردة أعلاه. ستتم إضافة دعم التصفية في إصدار نظام أساسي لاحق. ويمكن للتطبيقات التي تتطلب فلترة حسب حجم الشاشة استخدام سمات <supports-screens> الحالية.

للحصول على معلومات كاملة حول كيفية استخدام السمات الجديدة، راجع توضيح دعم حجم الشاشة.

وضع التوافق مع الشاشة

يوفر Android 3.2 وضعًا جديدًا لتوافق الشاشة مع التطبيقات التي تعلن صراحةً أنها لا تدعم الشاشات بحجم الشاشة التي تعمل عليها. وضع "التكبير/التصغير" الجديد هذا يعرض التطبيق على مساحة شاشة أصغر ثم يضبط وحدات البكسل لملء الشاشة الحالية.

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

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

ملاحظة: للحصول على معلومات مهمة حول كيفية التحكم في وضع التوافق في تطبيقاتك، يُرجى مراجعة مقالة الوضع الجديد للتطبيقات على الشاشات الكبيرة في مدونة مطوّري برامج Android.

كثافة جديدة للشاشة على أجهزة التلفزيون بدقة 720p والأجهزة المشابهة

لتلبية احتياجات التطبيقات التي تعمل على أجهزة التلفزيون بدقة 720p أو ما شابه ذلك مع الشاشات ذات الكثافة المعتدلة، يقدّم الإصدار Android 3.2 كثافة معممة جديدة، tvdpi، مع نقطة لكل بوصة تقريبًا تبلغ 213. يمكن للتطبيقات طلب البحث عن الكثافة الجديدة في densityDpi ويمكنها استخدام المؤهِّل tvdpi الجديد لوضع علامات على الموارد لأجهزة التلفزيون والأجهزة المشابهة. مثلاً:

res/drawable-tvdpi/my_icon.png   # Bitmap for tv density

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

إطار عمل واجهة المستخدم

  • الأجزاء
    • تحتوي الفئة Fragment.SavedState الجديدة على معلومات الحالة التي تم استردادها من مثيل جزء من خلال saveFragmentInstanceState().
    • تحفظ الطريقة الجديدة saveFragmentInstanceState() حالة المثيل الحالي للجزء المحدد. يمكن استخدام الحالة لاحقًا عند إنشاء مثيل جديد للجزء الذي يطابق الحالة الحالية.
    • وتضبط الطريقة الجديدة setInitialSavedState() الحالة المحفوظة الأولية للجزء عند إنشائه لأول مرة.
    • تُعلم طريقة معاودة الاتصال في onViewCreated() الجديدة الجزء الذي أعاد onCreateView()، ولكن قبل استعادة أي حالة محفوظة في العرض.
    • isDetached() ما إذا كان قد تم فصل الجزء بشكل صريح عن واجهة المستخدم أم لا.
    • تتيح الطريقتان attach() وdetach() الجديدتان للتطبيق إعادة إرفاق الأجزاء أو فصلها في واجهة المستخدم.
    • تتيح لك طريقة التحميل الزائد setCustomAnimations() الجديدة ضبط موارد صور متحركة محدّدة لتشغيلها لعمليات الدخول/الخروج وخاصة عند إبراز الحزمة الخلفية. لا تأخذ طريقة التنفيذ الحالية في الاعتبار السلوك المختلف للأجزاء عند التمييز بين عناصر الحزم الخلفية.
  • معلومات حجم الشاشة في ActivityInfo وApplicationInfo
  • أدوات مساعدة في الحصول على حجم العرض من WindowManager
    • تتيح الطريقتان الجديدتان getSize() وgetRectSize() للتطبيقات الحصول على الحجم الأولي للشاشة.
  • أنماط "مجسّمة" جديدة ومتاحة للجميع
    • يعرض النظام الأساسي الآن مجموعة متنوعة من الأنماط العامة "المجسَّمة" للنصوص وأدوات شريط الإجراءات وعلامات التبويب والمزيد. يُرجى الاطّلاع على R.style للاطّلاع على القائمة الكاملة.
  • تم إيقاف LocalActivityManager وActivityGroup وLocalActivityManager نهائيًا الآن.
    • يجب أن تستخدم التطبيقات الجديدة الأجزاء بدلاً من هذه الفئات. للاستمرار في عرض الإعلانات على الإصدارات القديمة من النظام الأساسي، يمكنك استخدام الإصدار 4 من مكتبة الدعم (مكتبة التوافق)، وهي متاحة في حزمة تطوير البرامج (SDK) لنظام التشغيل Android. توفّر الإصدار 4 من مكتبة الدعم إصدارًا من Fragment API يتوافق مع الإصدار Android 1.6 (المستوى 4 من واجهة برمجة التطبيقات).
    • بالنسبة إلى التطبيقات التي يتم تطويرها استنادًا إلى نظام التشغيل Android 3.0 (المستوى 11 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث، يتم عادةً عرض علامات التبويب في واجهة المستخدم باستخدام ActionBar.newTab() الجديد وواجهات برمجة التطبيقات ذات الصلة لوضع علامات التبويب داخل مساحة شريط الإجراءات.

إطار عمل الوسائط

  • أصبح بإمكان التطبيقات التي تستخدم موفّر وسائط النظام الأساسي (MediaStore) قراءة بيانات الوسائط مباشرةً من بطاقة SD القابلة للإزالة، إذا كان الجهاز يتيح استخدامها. ويمكن للتطبيقات أيضًا التفاعل مع ملفات بطاقة SD مباشرةً باستخدام واجهة برمجة التطبيقات MTP API.

الرسومات

إطار عمل أداة IME

  • طريقة getModifiers() جديدة لاسترداد الحالة الحالية لمفاتيح التعديل.

إطار عمل USB

  • طريقة getRawDescriptors() جديدة لاسترداد أدوات وصف USB الأولية للجهاز ويمكنك استخدام الطريقة للوصول إلى الأوصاف غير المتاحة مباشرةً من خلال واجهات برمجة التطبيقات ذات المستوى الأعلى.

الشبكة

التلفونية

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

  • المرافق القابلة للنقل
  • Binder وISlideer
    • تسمح الطريقة الجديدة dumpAsync() في Binder وIBinder للتطبيقات بالتفريغ إلى ملف محدّد، ما يضمن تنفيذ الهدف بشكل غير متزامن.
    • إنّ الرمز الجديد لمعاملة بروتوكول IBinderTWEET_TRANSACTION يتيح للتطبيقات إرسال تغريدة إلى العنصر الهدف.

ثوابت الميزات الجديدة

يضيف النظام الأساسي ثوابت جديدة لميزات الأجهزة يمكنك الإعلان عنها في بيانات التطبيق، لإعلام الكيانات الخارجية مثل Google Play بإمكانيات الأجهزة والبرامج المطلوبة. أنت تعلن عن هذه الثوابت وغيرها من ثوابت الميزات في عناصر بيان <uses-feature>.

في Google Play، يتم فلترة التطبيقات استنادًا إلى سمات <uses-feature> لضمان توفُّرها على الأجهزة التي تم استيفاء متطلباتها فقط.

  • ثوابت الميزة لمتطلبات الوضع الأفقي أو العمودي

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

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

    في حال تنفيذ أي من الأنشطة المُعلَن عنها في طلب البيان باتجاه معين باستخدام السمة android:screenOrientation، يعني ذلك أيضًا أنّ التطبيق يتطلب ذلك الاتجاه.

  • ثوابت الخصائص الأخرى
    • android.hardware.faketouch.multitouch.distinct — يتطلّب التطبيق توافقه مع الإدخال الذي يُحاكي ميزة "إعداد الأجهزة الجوّالة للمؤسّسات دفعةً واحدة" مع تتبُّع واضح لنقطتين أو أكثر.
    • android.hardware.faketouch.multitouch.jazzhand — يتطلّب التطبيق توافقه مع الإدخال المتعدد اللمسات من خلال تتبُّع مميّز يصل إلى خمس نقاط أو أكثر.

تقرير الاختلافات في واجهة برمجة التطبيقات

للحصول على عرض تفصيلي لجميع التغييرات في واجهة برمجة التطبيقات في الإصدار Android 3.2 (المستوى 13 من واجهة برمجة التطبيقات)، يمكنك الاطّلاع على تقرير الاختلافات في واجهة برمجة التطبيقات.

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

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

لاستخدام واجهات برمجة التطبيقات التي تم تقديمها في الإصدار Android 3.2 في تطبيقك، يجب تجميع التطبيق في مكتبة Android التي تتوفر في النظام الأساسي لحزمة تطوير البرامج (SDK) لنظام التشغيل Android 3.2. بناءً على احتياجاتك، قد تحتاج أيضًا إلى إضافة السمة android:minSdkVersion="13" إلى العنصر <uses-sdk> في بيان التطبيق.

لمزيد من المعلومات، يُرجى الاطّلاع على القسم ما هو مستوى واجهة برمجة التطبيقات؟