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