2010-12-17 32 views

उत्तर

4

हां, आप एकाधिक ब्लूटूथ कनेक्शन (कम से कम आरएफसीओएमएम कनेक्शन) सेट कर सकते हैं। बस आप कनेक्शन के लिए एक विकल्प धागा उपयोग करें, और यह ठीक काम करेगा (मुझे लगता है) यह भी देखें:, http://developer.android.com/resources/samples/BluetoothChat/index.html

संपादित करें टिप्पणी की लेआउट पढ़ने योग्य नहीं है: connectThread समारोह में, परिवर्तन:

tmp = device.createRfcommSocketToServiceRecord(MY_UUID); 

को :

Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); 
tmp = (BluetoothSocket) m.invoke(device, 1); 
+0

यह नमूना एकाधिक डिवाइस कनेक्ट नहीं कर सकता, जब मैं तीसरे डिवाइस कनेक्ट करने का प्रयास है, यह कब अपवाद प्रिंट होगा की कोशिश कर सकते हैं: सेवा discoery – user545755

+0

हम्म, और जब आप बदलने का प्रयास करते हैं: tmp = device.createRfcommSocketToServiceRecord (MY_UUID); से: विधि m = device.getClass()। GetMethod ("createRfcommSocket", नई कक्षा [] {int.class}); tmp = (BluetoothSocket) m.invoke (डिवाइस, 1); (सही प्रयास/कैच के साथ) क्या आपको अभी भी यह त्रुटि मिलती है? (पठनीय कोड के लिए उत्तर देखें ..) – Barryvdh

+0

आपकी सहायता के लिए धन्यवाद, लेकिन यह इस अपवाद को प्रिंट करेगा: – user545755

0

बैरी की तरह, आप कई उपकरणों से कनेक्ट कर सकते हैं। बस प्रत्येक कनेक्शन के लिए एक नया धागा बनाओ। आप 'कनेक्ट थ्रेड और' कनेक्टेड थ्रेड की एक सूची रखना चाहते हैं जिसका आप ट्रैक रखते हैं। तो आपको केवल इसे कई धागे के लिए अनुकूलित करना होगा (और निश्चित रूप से कई उपकरणों का चयन करने की क्षमता को कार्यान्वित करना)। मैंने यह किया है, और यह बहुत कठिन नहीं है।

यदि आप किसी डिवाइस से कनेक्ट करना चाहते हैं और फिर किसी अन्य से कनेक्ट करें (मूल मेनू का उपयोग करके एक-एक करके), तो आपके पास कुछ और काम हो सकता है।

0

एक से अधिक कनेक्शन बनाने के लिए आपको प्रत्येक डिवाइस के लिए अलग थ्रेड बनाना होगा जिसे आप कनेक्ट करना चाहते हैं। प्रत्येक थ्रेड ने दूरस्थ डिवाइस पर डेटा पढ़ने और लिखने के तरीकों को अलग किया है।

इस लिंक

Android Bluetooth multiple connection issue?

5

देख मैं कहूँगा कि कोड समस्या नहीं है। सही कार्यान्वयन प्रत्येक कनेक्शन के लिए धागे का प्रबंधन कर रहा है, हालांकि मुझे पता चला है कि आप एक साथ कनेक्ट करने वाले उपकरणों की संख्या ब्लूटूथ के फोन के कार्यान्वयन के आधार पर सीमित हैं। ब्लूटूथ स्पेक राज्यों को 7 डिवाइसों से जोड़ा जा सकता है हालांकि मुझे एंड्रॉइड फोन मिल गए हैं जो केवल 1 ब्लूटूथ कनेक्शन को संभाल सकते हैं जबकि अन्य 6 संभाल सकते हैं। यह वास्तव में ब्लूटूथ विकास समुदाय की मदद करेगा यदि एंड्रॉइड डेवलपमेंट टीम में से कोई यहां गहराई से जा सकता है।

+4

मैंने यह पता लगाने के लिए बहुत समय बर्बाद कर दिया कि नेक्सस 7 केवल 1 बीटी डिवाइस को जोड़ सकता है, लेकिन नेक्सस 10 एकाधिक एक साथ डिवाइस को जोड़ सकता है। – BitBank

+1

गंभीरता से, मैंने नेक्सस 7 पर ऐसा करने में भी समय बर्बाद कर दिया ... –

+0

@ सलमानखकवानी, आपने यह कैसे पता लगाया कि कितने बीटी डिवाइस आपके नेक्सस 7 से कनेक्ट हो सकते हैं? – ymerdrengene

2

हाँ में ब्लूटूथ सर्वर सॉकेट में कई उपकरणों को जोड़ने के इस lib

संबंधित मुद्दे