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