يشمل نظام Android الأساسي دعمًا لحزمة شبكة البلوتوث، والتي تتيح للجهاز تبادل البيانات لاسلكيًا مع الأجهزة الأخرى التي تتضمّن بلوتوث. يوفر إطار عمل التطبيق إمكانية الوصول إلى وظائف البلوتوث من خلال واجهات برمجة تطبيقات Bluetooth. تتيح واجهات برمجة التطبيقات هذه للتطبيقات إمكانية الاتصال بالأجهزة الأخرى التي تتضمّن بلوتوث، ما يفعِّل الميزات اللاسلكية من نقطة إلى نقطة وأخرى متعددة النقاط.
باستخدام واجهات برمجة التطبيقات Bluetooth API، يمكن لأي تطبيق إجراء ما يلي:
- ابحث عن أجهزة أخرى تتضمّن بلوتوث.
- يمكنك الاستعلام عن محوّل البلوتوث المحلي للأجهزة المقترنة التي تتضمّن بلوتوث.
- إنشاء قنوات بروتوكول RFCOMM
- الاتصال بالأجهزة الأخرى من خلال اكتشاف الخدمة
- نقل البيانات من وإلى الأجهزة الأخرى.
- إدارة عمليات ربط متعددة
يركّز هذا الموضوع على البلوتوث الكلاسيكي. تمثل تقنية البلوتوث الكلاسيكية الخيار المناسب لمزيد من العمليات التي تستهلك قدرًا أكبر من طاقة البطارية، والتي تشمل البث والتواصل بين الأجهزة. بالنسبة إلى أجهزة البلوتوث ذات المتطلبات المنخفضة للطاقة، يمكنك استخدام اتصالات بلوتوث منخفض الطاقة.
يصف هذا المستند الملفات الشخصية للبلوتوث المختلفة ويشرح كيفية استخدام واجهات برمجة تطبيقات Bluetooth لتحقيق المهام الأربع الرئيسية اللازمة للتواصل باستخدام Bluetooth:
- جارٍ إعداد البلوتوث.
- العثور على الأجهزة المقترنة أو المتاحة في المنطقة المحلية
- ربط الأجهزة
- نقل البيانات بين الأجهزة.
للاطّلاع على عرض توضيحي لاستخدام واجهات برمجة التطبيقات Bluetooth، يُرجى الاطِّلاع على نموذج تطبيق Bluetooth Chat.
الأساسيّات
لنقل البيانات بين الأجهزة المزوّدة بتقنية البلوتوث، يجب أولاً تشكيل قناة اتصال باستخدام عملية إقران. جهاز واحد، جهاز قابل للاكتشاف، يجعل نفسه متاحًا لطلبات الاتصال الواردة. يعثر جهاز آخر على الجهاز القابل للاكتشاف باستخدام عملية اكتشاف الخدمة. بعد قبول الجهاز القابل للاكتشاف طلب الإقران، يُكمِل الجهازان عملية الربط التي يتبادلان فيها مفاتيح الأمان. تخزن الأجهزة هذه المفاتيح مؤقتًا لاستخدامها لاحقًا. بعد اكتمال عمليات الإقران والترابط، يتبادل الجهازان المعلومات. عند اكتمال الجلسة، يؤدي الجهاز الذي بدأ طلب الإقران إلى إطلاق القناة التي ربطته بالجهاز القابل للاكتشاف. ومع ذلك، يظل الجهازان مرتبطين ببعضهما البعض، لذلك يمكنهما إعادة الاتصال تلقائيًا أثناء أي جلسة مستقبلية طالما أنهما في نطاق بعضهما البعض ولم تتم إزالة الرابط.
يتطلّب استخدام واجهات برمجة التطبيقات Bluetooth API
الإعلان عن عدة أذونات
في ملف البيان. بعد حصول تطبيقك على إذن لاستخدام البلوتوث، سيحتاج التطبيق إلى
الوصول إلى
BluetoothAdapter
و
تحديد ما إذا كانت تقنية البلوتوث متاحة على الجهاز.
إذا كان البلوتوث متاحًا، عليك اتّباع ثلاث خطوات لإجراء الاتصال:
- ابحث عن أجهزة بلوتوث القريبة، إما الأجهزة التي تم إقرانها بالفعل أو الأجهزة الجديدة.
- اتصل بجهاز بلوتوث.
- انقل البيانات باستخدام الجهاز المتصل.
تستخدم بعض الأجهزة ملفًا شخصيًا لميزة "بلوتوث" يُعلن عن البيانات التي يوفّرها.
الفئات الرئيسية والواجهات
تتوفّر جميع واجهات برمجة تطبيقات Bluetooth في حزمة
android.bluetooth
.
في ما يلي الفئات والواجهات التي تحتاجها لإنشاء
اتصالات بلوتوث:
BluetoothAdapter
- يمثِّل محوِّل البلوتوث المحلي (راديو البلوتوث). جهاز
BluetoothAdapter
هو نقطة الدخول إلى كل تفاعلات البلوتوث. باستخدام هذا، يمكنك اكتشاف أجهزة بلوتوث أخرى والاستعلام عن قائمة بالأجهزة (الإقران) وإنشاء مثيل لـBluetoothDevice
باستخدام عنوان MAC معروف، وإنشاءBluetoothServerSocket
للاستماع إلى الاتصالات من الأجهزة الأخرى. BluetoothDevice
- يمثل جهازًا يعمل عن بُعد يتضمّن بلوتوث. استخدِم هذا الرابط لطلب الاتصال بجهاز بعيد من خلال
BluetoothSocket
أو لطلب معلومات عن الجهاز، مثل اسمه وعنوانه وفئته وحالة الربط. BluetoothSocket
- تمثل واجهة مقبس بلوتوث (على غرار TCP
Socket
). وهي نقطة الاتصال التي تسمح للتطبيق بتبادل البيانات مع جهاز بلوتوث آخر باستخدامInputStream
وOutputStream
. BluetoothServerSocket
- يمثل مقبس خادم مفتوح يتلقى الطلبات الواردة (على غرار
بروتوكول TCP
ServerSocket
). لتوصيل جهازين، يجب أن يفتح أحد الأجهزة مقبس خادم بهذه الفئة. عندما يجري جهاز بعيد بلوتوث طلب اتصال بهذا الجهاز، يقبل الجهاز الاتصال ثم يعرضBluetoothSocket
متصلاً. BluetoothClass
- يصف هذا الإعداد الخصائص العامة لجهاز البلوتوث وإمكاناته. هذه مجموعة للقراءة فقط من الخصائص التي تحدد فئات الجهاز وخدماته. على الرغم من أنّ هذه المعلومات تقدّم تلميحًا مفيدًا في ما يتعلّق بنوع الجهاز، فإنّ سمات هذه الفئة لا تصف بالضرورة جميع ملفات البلوتوث وخدماتها التي يتيحها الجهاز.
BluetoothProfile
- واجهة تمثّل ملفًا شخصيًا بلوتوث. الملف الشخصي للبلوتوث هو عبارة عن مواصفات واجهة لاسلكية للاتصال عبر البلوتوث بين الأجهزة. ومن الأمثلة على ذلك الملف الشخصي لتطبيق Hands Free. لمزيد من مناقشة الملفات الشخصية، يمكنك الاطّلاع على الملفات الشخصية لميزة البلوتوث.
BluetoothHeadset
- يتيح هذا الخيار استخدام سماعات الرأس التي تعمل بالبلوتوث لاستخدامها مع الهواتف الجوّالة. ويتضمّن ذلك الملف الشخصي لسماعة الرأس التي تعمل بالبلوتوث والملف الشخصي لسماعة بدون لمس الجهاز (الإصدار 1.5).
BluetoothA2dp
- يحدد هذا الإعداد كيفية بث الصوت العالي الجودة من جهاز إلى آخر عبر اتصال بلوتوث باستخدام الملف الشخصي لتوزيع الصوت المتقدم (A2DP).
BluetoothHealth
- يمثِّل خادمًا وكيلاً لملف تعريف الجهاز المتعلّق بالصحة يتحكّم في خدمة البلوتوث.
BluetoothHealthCallback
- فئة مجردة تستخدمها لتنفيذ
BluetoothHealth
من عمليات معاودة الاتصال. يجب توسيع هذه الفئة وتنفيذ طرق معاودة الاتصال لتلقّي آخر الأخبار حول التغييرات في حالة تسجيل التطبيق وحالة قناة البلوتوث. BluetoothHealthAppConfiguration
- يمثل إعداد التطبيق الذي يسجله التطبيق التابع لجهة خارجية في Bluetooth Health للاتصال بجهاز بلوتوث عن بُعد.
BluetoothProfile.ServiceListener
- واجهة ترسل إشعارات إلى عملاء الاتصال البيني للعمليات (IPC) في
BluetoothProfile
عند اتصالهم بالخدمة الداخلية التي تشغِّل ملفًا شخصيًا أو غير متصلين بها.