मुझे समझ में नहीं आता कि एक ब्लूटूथ यूयूआईडी क्या दर्शाता है। क्या UUIDs प्रोटोकॉल को निरूपित करते हैं (जैसे RFCOMM )? यदि हां, तो क्योंcreateRfcommSocketToServiceRecord()
विधियों को यूयूआईडी की आवश्यकता होती है, जब वे अपने नामों में सही rfcomm निर्दिष्ट करते हैं? क्यों ब्लूटूथचैट नमूना कोड में एक उचित रूप से मनमाना, हार्डकोड यूयूआईडी है?
मेरा प्रश्न यह उठता है, क्योंकि इस प्रश्न के अनुसार , मुझे 4.0 के बाद चलने वाले उपकरणों को एक शून्य सूचक अपवाद मिल रहा है, जो प्रतिबिंब का उपयोग करके (एक बाहरी, गैर-एंड्रॉइड डिवाइस पर) कनेक्ट करने का प्रयास करता है। हालाँकि, उस प्रश्न का हल मेरे लिए काम नहीं करता है।UUID muuid = device.getUuids()[0].getUuid();
एक अपवाद उठाता है।
संपादित करें : मैंने इस उत्तर (उपयोग करके) के अनुसार सीरियल पोर्ट सेवा के लिए UUID को हार्डकोड करके उस समस्या को हल किया हैUUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
) के ।
मैं आगे इस बात से हैरान हूं कि मुझे यूयूआईडी की आपूर्ति करने की आवश्यकता क्यों है क्योंकि एक असुरक्षित rfcomm सॉकेट बनाने के लिए उपयोग करना है createInsecureRfcommSocketToServiceRecord(),
लेकिन प्रतिबिंब विधि का उपयोग नहीं करना है।
क्या कोई मुझे सीधा कर सकता है?