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