मैं एक ऐसा एप्लीकेशन विकसित कर रहा हूं जो स्वचालित रूप से ब्लूटूथ के माध्यम से 2 एंड्रॉइड डिवाइस कनेक्ट करे। मान लें कि वे पहले से ही जोड़े गए हैं। क्या यह हासिल करना संभव है?ब्लूटूथ के साथ 2 एंड्रॉइड डिवाइस को प्रोग्रामिक रूप से कैसे कनेक्ट करें?
उत्तर
बेशक यह संभव है। मैं प्रलेखन से बाहर एक छोटा ट्यूटोरियल बनाउंगा:
ब्लूटूथ एडाप्टर से शुरू करें - यह आपका ब्लूटूथ प्रबंधक है।
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
तो bluetoothAdapter
रिक्त है, इसका मतलब है कि इस Android उपकरण ब्लूटूथ (यह कोई ब्लूटूथ रेडियो है। हालांकि मुझे लगता है कि इन उपकरणों का सामना करने के दुर्लभ है ...)
इसके बाद, यह सुनिश्चित कर लें का समर्थन नहीं करता ब्लूटूथ चालू है:
if (!bluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, request_code_for_enabling_bt);
}
यदि यह चालू नहीं है, तो हम उस गतिविधि को शुरू करते हैं जो उपयोगकर्ता को इसे सक्षम करने के लिए कहता है।
मान लें कि उपयोगकर्ता ने सक्षम किया है (मुझे लगता है कि आपको यह देखना चाहिए कि उसने क्या किया है, इसे अपने onActivityResult
विधि में करें)। हम युग्मित उपकरणों के लिए क्वेरी कर सकते हैं: उन पर
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBoundedDevices();
फिर पाश: for(BluetoothDevice device : pairedDevices)
और एक आप कनेक्ट करना चाहते हैं।
एक बार जब आप एक डिवाइस मिल गया है, यह कनेक्ट करने के लिए एक सॉकेट बनाने के लिए:
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(YOUR_UUID);
YOUR_UUID एक UUID अपने एप्लिकेशन का एक विशेष आईडी वाले वस्तु है। इसके बारे में here पढ़ें।
अब, प्रयास कनेक्ट करने के लिए (डिवाइस आप सुन मोड पर एक ही UUID के साथ बनाई गई एक सॉकेट होना आवश्यक है कनेक्ट करने का प्रयास कर रहे हैं):
socket.connect();
एक कनेक्शन जब तक कनेक्ट() ब्लॉक अपने धागा स्थापित है, या एक त्रुटि होती है - इस मामले में एक अपवाद फेंक दिया जाएगा। इसलिए आपको अलग थ्रेड पर connect
पर कॉल करना चाहिए।
और वहां! आप किसी अन्य डिवाइस से जुड़े हुए हैं। अब इनपुट और आउटपुट स्ट्रीम प्राप्त करें:
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
और आप डेटा भेजने/प्राप्त करना शुरू कर सकते हैं। ध्यान रखें कि दोनों क्रियाएं (भेजना और प्राप्त करना) अवरुद्ध कर रहे हैं, इसलिए आपको इन्हें अलग-अलग धागे से कॉल करना चाहिए।
इस बारे में अधिक पढ़ें, और Bluetooth documentation.
धन्यवाद, मैंने पहले ही लागू कर दिया है कि मेरे आवेदन में कुछ समय पहले मैंने इसे सब कुछ समझ लिया था, फिर भी आपका जवाब बहुत अच्छा है और मैं इसे स्वीकार करने के रूप में चिह्नित कर रहा हूं। – Miky
@ मिकी क्या आप हमें अपना कार्यान्वयन दिखा सकते हैं – jaimin
@jaimin क्षमा करें स्वचालित ब्लूटूथ कनेक्शन ने मेरे लिए संतोषजनक काम नहीं किया।एक विकल्प के रूप में वाईफाई चुना था। – Miky
- 1. 2 डिवाइस ब्लूटूथ एंड्रॉइड
- 2. एंड्रॉइड ब्लूटूथ एपीआई कई उपकरणों से कनेक्ट
- 3. एंड्रॉइड ब्लूटूथ से obd2 के साथ कनेक्शन कैसे स्थापित करें
- 4. एंड्रॉइड एमुलेटर से यूएसबी डिवाइस कनेक्ट करें?
- 5. ब्लूटूथ डिवाइस को सूची के रूप में कैसे प्राप्त करें?
- 6. गैर-खोजे जाने योग्य ब्लूटूथ डिवाइस से कनेक्ट
- 7. गैर-एंड्रॉइड डिवाइस से कनेक्ट करने के लिए ब्लूटूथ चैट नमूना कोड संशोधित करें
- 8. एंड्रॉइड एप्लिकेशन से प्रोग्रामेटिक रूप से ब्लूटूथ हेडसेट से कनेक्ट करें
- 9. प्रोग्रामिक रूप से डिफ़ॉल्ट ध्वनि प्लेबैक डिवाइस को कैसे बदलें?
- 10. एंड्रॉइड ब्लूटूथ पहले से जोड़े गए उपकरणों के साथ स्वीकार करता है()/कनेक्ट()
- 11. एंड्रॉइड ब्लूटूथ: युग्मित डिवाइस सूची
- 12. किसी गतिविधि या सेवा द्वारा किसी 2 डीपी ब्लूटूथ डिवाइस से कनेक्शन को कैसे बल दें
- 13. एंड्रॉइड पर पेयर किए गए ब्लूटूथ डिवाइस से ऑटो कनेक्टिंग
- 14. मैं आईओएस डिवाइस को ब्लूटूथ के माध्यम से गैर आईओएस डिवाइस (Arduino डिवाइस) में कैसे कनेक्ट कर सकता हूं?
- 15. एंड्रॉइड ब्लूटूथ के माध्यम से पीसी/प्रिंटर/स्कैनर/अन्य डिवाइस
- 16. यूएसबी डिवाइस को प्रोग्रामेटिक रूप से कनेक्ट और डिस्कनेक्ट करें
- 17. सब्लिमे टेक्स्ट 2 के लिए प्लगइन बनाने के लिए प्रोग्रामिक रूप से रूबी डीबगर से कनेक्ट कैसे करें?
- 18. किसी अन्य डिवाइस के लिए हेडसेट के रूप में एंड्रॉइड डिवाइस का उपयोग करें
- 19. फोनगैप के साथ ब्लूटूथ संचार को कैसे कार्यान्वित करें?
- 20. जुड़े ब्लूटूथ डिवाइस सूचीबद्ध?
- 21. ए 2 डीडी डिवाइस (एंड्रॉइड) टॉगलिंग
- 22. प्रोग्राम को प्रोग्रामिक रूप से कैसे स्विच करें?
- 23. Android में प्रोग्राम किए गए ब्लूटूथ डिवाइस प्रोग्रामेटिक से कैसे कनेक्ट करें?
- 24. एंड्रॉइड 2.1 ब्लूटूथ ऑडियो कनेक्ट/डिस्कनेक्ट
- 25. एंड्रॉइड में ब्लूटूथ डिवाइस की खोज - startDiscovery()
- 26. स्वचालित रूप से इंटरनेट से कनेक्ट करें
- 27. प्रोग्रामिक रूप से टीमसिटी
- 28. एंड्रॉइड: वायरलेस रूप से दो फोन कनेक्ट करें?
- 29. एंड्रॉइड पर ब्लूटूथ सॉकेट से कनेक्ट करने में असमर्थ
- 30. ब्लूटूथ एंड्रॉइड पर एडीबी
यह संभव है में सर्वर (यहाँ हम एक ग्राहक बना लिया है) बनाने का तरीका मिल जाए, पर एक नजर है: http://developer.android.com /guide/topics/wireless/bluetooth.html –
नकारात्मक पक्ष पर, इस तरह के एक आवेदन, उदाहरण के लिए जो लगातार कनेक्शन बनाने के लिए पेजिंग करता है, बैटरी जीवन पर प्रतिकूल प्रभाव डालता है। अच्छा विचार नहीं। –