Android 4.3 और इसके बाद के वर्शन में उपलब्ध ब्लूटूथ स्मार्ट (बीएलई) की मदद से, डिवाइसों के बीच कम समय के लिए कनेक्शन बनाया जाता है, ताकि डेटा को तेज़ी से ट्रांसफ़र किया जा सके. कनेक्ट न होने पर, बीएलई स्लीप मोड में रहता है. इससे बीएलई, क्लासिक ब्लूटूथ की तुलना में कम बैंडविड्थ और कम बैटरी खर्च करता है. बीएलई, हार्ट-रेट मॉनिटर या वायरलेस कीबोर्ड जैसे ऐप्लिकेशन के लिए सबसे सही है. BLE का इस्तेमाल करने के लिए, डिवाइसों में ऐसा चिपसेट होना चाहिए जो BLE के साथ काम करता हो.
लागू करना
BLE की सभी मौजूदा ऐप्लिकेशन प्रोफ़ाइलें, जेनेरिक एट्रिब्यूट (GATT) प्रोफ़ाइल पर आधारित होती हैं. जब Android डिवाइस, BLE डिवाइस के साथ इंटरैक्ट करता है, तो जानकारी भेजने वाला डिवाइस सर्वर होता है और जानकारी पाने वाला डिवाइस क्लाइंट होता है. Android में BLE के लिए डेवलपर एपीआई शामिल हैं. इनमें GATT सर्वर और GATT क्लाइंट के बीच इंटरैक्शन के लिए एपीआई भी शामिल हैं. BLE API का पूरा फ़ायदा पाने के लिए, Android Bluetooth HCI Requirements लागू करें.
डिवाइस मोड
BLE का इस्तेमाल करते समय, Android डिवाइस को पेरिफ़ेरल डिवाइस, सेंट्रल डिवाइस या दोनों के तौर पर इस्तेमाल किया जा सकता है. पेरिफ़रल मोड की मदद से, डिवाइस विज्ञापन पैकेट भेज सकते हैं. सेंट्रल मोड की मदद से, डिवाइसों को विज्ञापनों को स्कैन करने की अनुमति मिलती है. पेरिफ़रल और सेंट्रल, दोनों डिवाइसों के तौर पर काम करने वाला Android डिवाइस, पेरिफ़रल मोड में विज्ञापन भेजते समय, अन्य बीएलई पेरिफ़रल डिवाइसों से कम्यूनिकेट कर सकता है. ब्लूटूथ 4.1 और इससे पहले के वर्शन वाले डिवाइसों पर, बीएलई का इस्तेमाल सिर्फ़ सेंट्रल मोड में किया जा सकता है. ऐसा हो सकता है कि पुराने डिवाइस के चिपसेट में, बीएलई पेरिफ़रल मोड काम न करे.
BLE स्कैनिंग
Android डिवाइस, बीएलई का इस्तेमाल करके किसी खास ब्लूटूथ डिवाइस को ज़्यादा आसानी से टारगेट और स्कैन कर सकता है. BLE API की मदद से, ऐप्लिकेशन डेवलपर ऐसे फ़िल्टर बना सकते हैं जिनसे होस्ट कंट्रोलर की कम मदद से डिवाइसों को खोजा जा सकता है.
जगह की जानकारी स्कैन करना
किसी डिवाइस की लोकेशन सर्विस, ब्लूटूथ का इस्तेमाल करके ब्लूटूथ बीकन का पता लगा सकती हैं. इससे जगह की ज़्यादा सटीक जानकारी मिलती है. उपयोगकर्ता इस सुविधा को इस तरह चालू करते हैं:
- सेटिंग > सुरक्षा और जगह की जानकारी > जगह की जानकारी पर जाएं.
- देखें कि जगह की जानकारी चालू है/बंद है टॉगल, चालू है की स्थिति में हो.
- मोड पर जाएं.
- बहुत ज़्यादा सही या बैटरी की बचत मोड में से किसी एक को चुनें.
Android 11 और इससे पहले के वर्शन में, अलग-अलग ऐप्लिकेशन को बीएलई स्कैनिंग का इस्तेमाल करने के लिए, जगह की जानकारी की अनुमतियों की ज़रूरत होती है. भले ही, वे सिर्फ़ कनेक्ट करने के लिए डिवाइसों को स्कैन कर रहे हों. अगर उपयोगकर्ता जगह की जानकारी को स्कैन करने की सुविधा बंद कर देता है या किसी ऐप्लिकेशन को जगह की जानकारी की अनुमति नहीं देता है, तो ऐप्लिकेशन को बीएलई स्कैनिंग के कोई भी नतीजे नहीं मिलेंगे.
Android 12 और इसके बाद के वर्शन में, BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, और BLUETOOTH_CONNECT अनुमतियों की मदद से, ऐप्लिकेशन आस-पास मौजूद डिवाइसों को स्कैन कर सकते हैं. इसके लिए, उन्हें जगह की जानकारी की अनुमति मांगने की ज़रूरत नहीं होती. ज़्यादा जानकारी के लिए, Bluetooth की अनुमतियां लेख पढ़ें.
उपयोगकर्ता, सिस्टम-लेवल पर ब्लूटूथ बैकग्राउंड स्कैनिंग की सुविधा को बंद कर सकते हैं. इसके लिए, उन्हें सेटिंग > सुरक्षा और जगह की जानकारी > जगह की जानकारी > स्कैनिंग पर जाना होगा. इसके बाद, ब्लूटूथ स्कैनिंग टॉगल पर क्लिक करके, इसे बंद करना होगा. इससे जगह की जानकारी या आस-पास के डिवाइसों के लिए, बीएलई स्कैनिंग पर कोई असर नहीं पड़ता.
स्कैन के नतीजों को फ़िल्टर करना
Android 6.0 और इसके बाद के वर्शन में, ब्लूटूथ कंट्रोलर पर बीएलई स्कैनिंग और फ़िल्टर-मैचिंग की सुविधा शामिल है. कोई डिवाइस, स्कैन के नतीजों को फ़िल्टर कर सकता है. साथ ही, बीएलई डिवाइसों से जुड़े मिल गया और खो गया इवेंट की रिपोर्ट, ऐप्लिकेशन प्रोसेसर (एपी) को भेज सकता है. फ़िल्टर करने की सुविधा, बैच स्कैन के लिए भी काम करती है. इससे बैटरी बचाने में मदद मिलती है, क्योंकि डिवाइस बीएलई स्कैनिंग को फ़र्मवेयर पर ऑफ़लोड करता है. बैच स्कैन करने की सुविधा से, डिवाइसों या बीकन के लिए बीएलई स्कैनिंग की वजह से, एपी के बार-बार चालू होने की समस्या कम हो जाती है.
OnFound/OnLost सुविधा को ब्लूटूथ कंट्रोलर में लागू किया जाता है. इसके बाद, इसकी जांच की जाती है, ताकि यह पुष्टि की जा सके कि स्कैन में बीएलई डिवाइस नहीं छूटे हैं. इससे बिजली की बचत होती है. साथ ही, इससे ये फ़ायदे भी मिल सकते हैं:
OnFoundइवेंट के लिए, किसी डिवाइस का पता चलने पर मुख्य एपी चालू हो जाता है.OnLostइवेंट के लिए, जब किसी डिवाइस का पता नहीं चलता, तब एपी चालू हो जाता है.- जब आस-पास मौजूद कोई डिवाइस रेंज में होता है, तो फ़्रेमवर्क ऐप्लिकेशन को कम अनचाही सूचनाएं मिलती हैं.
- लगातार स्कैन करने की सुविधा चालू होने पर, फ़्रेमवर्क ऐप्लिकेशन को सूचना मिलती है कि कोई डिवाइस रेंज से बाहर है.
स्कैन फ़िल्टर, डिवाइस के विज्ञापनों (OnFound इवेंट) के बारे में पता चलने पर आधारित हो सकता है. Java लेयर, पैरामीटर तय कर सकती है. जैसे, पहली बार खोजा गया (या पहली बार खोजे जाने के बाद से विज्ञापनों की तय संख्या).
Advertising Packet Content Filter HCI command का इस्तेमाल करके, बीएलई फ़िल्टर करने की सुविधा लागू करें.