واجهات برمجة تطبيقات Android 5.1
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
مستوى واجهة برمجة التطبيقات: 22
Android 5.1
(LOLLIPOP_MR1)
هو تحديث لإصدار Lollipop يقدّم ميزات جديدة للمستخدمين ومطوّري التطبيقات.
يقدّم هذا المستند مقدّمة عن أبرز واجهات برمجة التطبيقات الجديدة.
للحصول على نظرة عامة على ميزات النظام الأساسي الجديدة، اطّلِع على أهم ميزات Android Lollipop.
تعديل مستوى واجهة برمجة التطبيقات المستهدَف
لبدء إنشاء تطبيقات لنظام التشغيل Android 5.1، استخدِم
مدير حِزم تطوير البرامج (SDK) لتنزيل "حزمة تطوير البرامج (SDK) لنظام التشغيل Android 5.1"
وصور النظام الأساسية. بعد ذلك، اضبط مشروع تطوير تطبيقك لاستخدام
targetSdkVersion
من "22"
. ثبِّت تطبيقك على صورة نظام Android 5.1
واختبره، ثم انشر التطبيق المعدَّل الذي يتضمّن هذا التغيير.
يمكنك استخدام واجهات برمجة تطبيقات Android 5.1 مع إتاحة الإصدارات القديمة أيضًا من خلال إضافة شروط
إلى الرمز البرمجي للتحقّق من مستوى واجهة برمجة تطبيقات النظام قبل تنفيذ واجهات برمجة التطبيقات التي لا تتوافق
مع minSdkVersion
. لمزيد من المعلومات عن الحفاظ على التوافق مع الإصدارات القديمة، يُرجى الاطّلاع على مقالة إتاحة إصدارات مختلفة من المنصة.
لمزيد من المعلومات حول آلية عمل مستويات واجهة برمجة التطبيقات، اطّلِع على المقالة ما هو مستوى واجهة برمجة التطبيقات؟
إتاحة استخدام شرائح SIM متعددة
يتيح الإصدار 5.1 من نظام التشغيل Android استخدام أكثر من شريحة SIM واحدة لمشغّل شبكة الجوّال في الوقت نفسه. تتيح هذه الميزة للمستخدمين تفعيل شرائح SIM إضافية واستخدامها على الأجهزة التي تحتوي على فتحتَين أو أكثر لشرائح SIM.
يمكنك الوصول إلى معلومات عن شريحة SIM النشطة حاليًا من خلال فئة SubscriptionManager
، بما في ذلك ما إذا كان الجهاز يُعدّ
في وضع التجوال على الشبكة الحالية أم لا. هذه المعلومات مفيدة للمطوّرين الذين يريدون
إبطاء أو إيقاف الوصول إلى بيانات تطبيقاتهم لمستخدمي الأجهزة الذين يهتمون بشدة بمصاريف الوصول إلى data. يمكن أن يتم تنبيه تطبيقك إلى التغييرات في اتصال الجهاز الحالي بالشبكة من خلال
طلب إذن READ_PHONE_STATE
وضبط SubscriptionManager.OnSubscriptionsChangedListener
على عنصر SubscriptionManager
.
فئات HTTP المتوقّفة نهائيًا
تم إيقاف فئات org.apache.http
وفئة android.net.http.AndroidHttpClient
نهائيًا في Android 5.1. لم تعُد هذه الفئات قيد الصيانة، ويجب
نقل أي رمز تطبيق يستخدم واجهات برمجة التطبيقات هذه إلى فئات URLConnection
في أقرب وقت ممكن.
خدمات مشغّلي شبكة الجوال
يقدّم نظام التشغيل Android 5.1 دعمًا لمزوّدي خدمات الاتصالات عن بُعد لإنشاء تطبيقات يمكنها
تنفيذ مهام إعداد مشغّل شبكة الجوّال على جهاز Android. توفّر واجهات برمجة التطبيقات هذه طريقة آمنة ومرنة
للتطبيقات التي يطوّرها مشغّلو شبكات الجوّال لتنفيذ هذه المهام وتوزيعها من خلال Google Play. يجب أن تكون التطبيقات
التي تستخدم هذه الوظائف موقَّعة بشهادة تتطابق مع الشهادة الواردة في
بطاقة الدائرة الكهربائية المدمجة الشاملة (UICC) للجهاز.
تمت إضافة واجهات برمجة التطبيقات لخدمة مشغّل شبكة الجوّال إلى فئة TelephonyManager
وفئة SmsManager
وفئة CarrierMessagingService
الجديدة. يمكن للتطبيقات التحقّق من إمكانية الوصول إلى واجهات برمجة التطبيقات هذه
من خلال استدعاء طريقة hasCarrierPrivileges()
. تتلقّى التطبيقات التي
تطلب هذه واجهات برمجة التطبيقات بدون إذن الوصول SecurityException
.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Android 5.1 APIs\n\nAPI Level: 22\n\n\nAndroid 5.1\n([LOLLIPOP_MR1](/reference/android/os/Build.VERSION_CODES#LOLLIPOP_MR1))\nis an update to the Lollipop release that offers new features for users and app developers.\nThis document provides an introduction to the most notable new APIs.\n\n\nFor a high-level look at the new platform features, see the [Android Lollipop highlights](/about/versions/lollipop).\n\n### Update your target API level\n\n\nTo start building apps for Android 5.1, use the\n[SDK Manager](/tools/help/sdk-manager) to download the Android 5.1 SDK\nPlatform and System Images. Then set your app development project to use a\n[`targetSdkVersion`](/guide/topics/manifest/uses-sdk-element#target)\nof `\"22\"`. Install your app on an Android 5.1\nsystem image, test it, then publish the updated app with this change.\n\n\nYou can use Android 5.1 APIs while also supporting older versions by adding\nconditions to your code that check for the system API level before executing APIs not supported\nby your [`minSdkVersion`](/guide/topics/manifest/uses-sdk-element#min). To learn more about maintaining backward compatibility, read [Supporting Different Platform\nVersions](/training/basics/supporting-devices/platforms).\n\n\nFor more information about how API levels work, read [What is API Level?](/guide/topics/manifest/uses-sdk-element#ApiLevels)\n\nMultiple SIM Card Support\n-------------------------\n\n\nAndroid 5.1 adds support for using more than one cellular carrier SIM card at a time. This\nfeature lets users activate and use additional SIMs on devices that have two or more SIM card\nslots.\n\n\nYou can access information about the currently active SIM through the [SubscriptionManager](/reference/android/telephony/SubscriptionManager) class, including whether or not the device is considered\nto be roaming on the current network. This information is useful for developers who want to\nthrottle their apps' data access down or off for device users who are sensitive to data access\ncharges. Your app can be alerted to changes in a device's current network connection by\nrequesting the [READ_PHONE_STATE](/reference/android/Manifest.permission#READ_PHONE_STATE) permission and setting [SubscriptionManager.OnSubscriptionsChangedListener](/reference/android/telephony/SubscriptionManager.OnSubscriptionsChangedListener) on the [SubscriptionManager](/reference/android/telephony/SubscriptionManager) object.\n\nDeprecated HTTP Classes\n-----------------------\n\n\nThe `org.apache.http` classes and the `android.net.http.AndroidHttpClient` class\nhave been deprecated in Android 5.1. These classes are no longer being maintained and you should\nmigrate any app code using these APIs to the [URLConnection](/reference/java/net/URLConnection) classes as soon as\npossible.\n\nCarrier Services\n----------------\n\n\nAndroid 5.1 provides support for telecommunication service providers to create apps that can\nperform carrier provisioning tasks on an Android device. These APIs provide a secure and flexible\nway for carrier-developed apps to perform these tasks and be distributed through Google Play. Apps\nthat use these functions must be signed by a certificate that matches the certificate in the\ndevice's Universal Integrated Circuit Card (UICC).\n\n\nThe carrier service APIs have been added to the [TelephonyManager](/reference/android/telephony/TelephonyManager) class,\nthe [SmsManager](/reference/android/telephony/SmsManager) class, and the new [CarrierMessagingService](/reference/android/service/carrier/CarrierMessagingService) class. Apps can check for access to these APIs\nby calling the [hasCarrierPrivileges()](/reference/android/telephony/TelephonyManager#hasCarrierPrivileges()) method. Apps that\ncall these APIs without access receive a [SecurityException](/reference/java/lang/SecurityException)."]]