इससे पहले कि आपका ऐप ब्लूटूथ या ब्लूटूथ कम ऊर्जा पर संचार करे,
आपको पुष्टि करनी होगी कि डिवाइस पर ब्लूटूथ काम करता है. अगर ऐसा है, तो
पक्का करें कि यह चालू है. ध्यान दें कि यह जांच सिर्फ़ तब ज़रूरी होती है, जब
<uses-feature.../> मेनिफ़ेस्ट फ़ाइल एंट्री में android:required एट्रिब्यूट है
false पर सेट किया गया.
अगर ब्लूटूथ काम नहीं करता है, तो आपको इसे बंद कर देना चाहिए सुविधाएँ. यदि ब्लूटूथ समर्थित है, लेकिन अक्षम है, तो आप अनुरोध कर सकते हैं कि उपयोगकर्ता ने ऐप्लिकेशन को छोड़े बिना ब्लूटूथ को चालू किया हो.
पहला चरण है ब्लूटूथ से जुड़ी अनुमतियां जोड़ना अपनी मेनिफ़ेस्ट फ़ाइल में सेव करें, ताकि आप इन एपीआई का इस्तेमाल कर सकें.
अनुमतियां मिलने के बाद, ब्लूटूथ सेटअप को दो चरणों में पूरा किया जाता है
BluetoothAdapter का इस्तेमाल करके:
BluetoothAdapterपाएं.ब्लूटूथ से जुड़ी सभी गतिविधियों के लिए,
BluetoothAdapterज़रूरी है. कॉन्टेंट बनानेBluetoothAdapterडिवाइस के अपने ब्लूटूथ अडैप्टर को दिखाता है ( ब्लूटूथ रेडियो).BluetoothAdapterपाने के लिए, आपके पास होना ज़रूरी हैContext. इस कॉन्टेक्स्ट का इस्तेमाल करके,BluetoothManagerका एक इंस्टेंस सिस्टम सेवा.BluetoothManager#getAdapterको कॉल किया जा रहा है आपको एकBluetoothAdapterऑब्जेक्ट मिलेगा. अगरgetAdapter()कोई वैल्यू नहीं दिखाता है, तो तो डिवाइस ब्लूटूथ का समर्थन नहीं करता है.उदाहरण के लिए:
Kotlin
val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java) val bluetoothAdapter: BluetoothAdapter? = bluetoothManager.getAdapter() if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
Java
BluetoothManager bluetoothManager = getSystemService(BluetoothManager.class); BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
ब्लूटूथ चालू करें.
इसके बाद, यह पक्का करें कि ब्लूटूथ चालू हो. कॉल करें
isEnabled()से जांचें कि वर्तमान में ब्लूटूथ सक्षम है या नहीं. अगर यह तरीका गलत नतीजे दिखाता है, तो ब्लूटूथ अक्षम हो जाता है. ब्लूटूथ को चालू करने का अनुरोध करने के लिए, कॉल करेंstartActivityForResult()पासिंगACTION_REQUEST_ENABLEइंटेंट कार्रवाई. इस कॉल में, ब्लूटूथ को चालू करने का अनुरोध किया जाता है. इसके लिए, सिस्टम सेटिंग (आपके ऐप्लिकेशन को रोके बिना).उदाहरण के लिए:
Kotlin
if (bluetoothAdapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT) }
Java
if (!bluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); }
ब्लूटूथ चालू करने के लिए, उपयोगकर्ता की अनुमति मांगने वाला एक डायलॉग दिखेगा, जैसा कि यहां दिखाया गया है पहली इमेज. अगर उपयोगकर्ता अनुमति देता है, तो सिस्टम, ब्लूटूथ को चालू करना शुरू कर देता है, साथ ही, प्रोसेस पूरी होने (या पूरा न होने) के बाद, ऐप्लिकेशन पर फ़ोकस वापस आ जाता है.
पहली इमेज. ब्लूटूथ चालू करने का डायलॉग बॉक्स.
REQUEST_ENABLE_BT कॉन्सटेंट को पास किया गया है
startActivityForResult()
स्थानीय तौर पर तय किया गया पूर्णांक होता है, जो 0 से ज़्यादा या उसके बराबर होना चाहिए. सिस्टम
यह कॉन्सटेंट आपको वापस देता है
onActivityResult()
requestCode पैरामीटर के तौर पर लागू करें.
अगर ब्लूटूथ चालू हो जाता है, तो आपकी गतिविधि को
RESULT_OK नतीजे का कोड
onActivityResult() कॉलबैक. अगर किसी गड़बड़ी की वजह से ब्लूटूथ चालू नहीं किया गया (या
उपयोगकर्ता ने "अस्वीकार करें") में बताया है, तो नतीजे का कोड यह होगा
RESULT_CANCELED.
इसके अलावा, आपका ऐप्लिकेशन
ACTION_STATE_CHANGED
ब्रॉडकास्ट इंटेंट, जिसे सिस्टम ब्लूटूथ की स्थिति में ब्रॉडकास्ट करता है
बदलाव. इस ब्रॉडकास्ट में अतिरिक्त फ़ील्ड शामिल हैं
EXTRA_STATE और
EXTRA_PREVIOUS_STATE,
जिसमें क्रमश: नई और पुरानी ब्लूटूथ स्थितियाँ शामिल हैं. यह वैल्यू हो सकती है
ये अतिरिक्त फ़ील्ड हैं
STATE_TURNING_ON
STATE_ON,
STATE_TURNING_OFF,
और STATE_OFF.
अगर आपके ऐप्लिकेशन को रनटाइम का पता लगाने की ज़रूरत है, तो इस ब्रॉडकास्ट को सुनना आपके लिए फ़ायदेमंद हो सकता है
ब्लूटूथ की स्थिति में किए गए बदलाव.
डिवाइस पर ब्लूटूथ चालू होने के बाद, आप ब्लूटूथ क्लासिक और ब्लूटूथ स्मार्ट.
ब्लूटूथ क्लासिक के लिए, ब्लूटूथ डिवाइस ढूंढे जा सकते हैं और ब्लूटूथ डिवाइसों से कनेक्ट करना.
ब्लूटूथ स्मार्ट डिवाइस के लिए, BLE डिवाइस ढूंढे जा सकते हैं. साथ ही, उन्हें GATT सर्वर से कनेक्ट किया जा सकता है और BLE का डेटा ट्रांसफ़र करें.