2013-08-26 5 views
5

नया एंड्रॉयड BLE 4.3 का उपयोग करके विशेषताओं को सक्षम करने पर एक सवाल:एंड्रॉयड BLE 4.3 onDescriptorWrite सक्षम करने विशेषताओं पर स्थिति 128 रिटर्न अधिसूचना

हालांकि मैं अतुल्यकालिक रूप से एक एक करके विशेषताओं में से एक पर अधिसूचना सक्षम मैं BLE डिवाइस से किसी भी सूचना नहीं मिल रहा है एक कतार का उपयोग कर।

मैं ENABLE_NOTIFICATION_VALUE के साथ UUID "00002902-0000-1000-8000-00805f9b34fb" के साथ वर्णक भी लिखता हूं।

मैंने Google एसडीके दस्तावेज़ और साथ ही विभिन्न मंचों के सुझावों की सिफारिशों का पालन किया है।

जिस तरह से मुझे "ऑनडिस्क्रिप्टर्राइट" पर स्थिति = 128 मिलती है। इस स्थिति का क्या अर्थ है कोई विचार?

मैं Google कोड के माध्यम से गया और इस पर कोई जानकारी नहीं देखी। यहां तक ​​कि स्रोत कोड किसी भी प्रकाश को फेंक नहीं देता है क्योंकि यह स्थिति कैसे सेट की जा रही है।

मुझे बताएं कि यदि आपने बॉडी मीडिया डिवाइस के लिए अधिसूचनाएं सक्षम की हैं तो आप में से किसी ने इसका अनुभव किया है। कभी-कभी मुझे वर्णनकर्ता लिखने पर स्थिति 133 मिलती है। मैं अपने परीक्षणों के लिए नवीनतम नेक्सस 7 का उपयोग करता हूं।

+1

ऐसा नहीं लगता कि यह आपकी समस्या का समाधान करने जा रहा है, लेकिन 128 GATT_NO_RESOURCES है। https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-4.3_r1.1/stack/include/gatt_api.h – reTs

+0

मेरे अनुभव में स्थिति कोड विश्वसनीय नहीं है जब तक कि स्थिति में कहा गया न हो डेवलपर साइट। – reTs

उत्तर

3

मुझे एक ही समस्या थी, और ब्लूटूथ इंटरफ़ेस को अक्षम और पुन: सक्षम करके इसे हल किया गया।

एंड्रॉइड बीएलई स्टैक अभी भी अपरिपक्व प्रतीत होता है और अस्थिरता समस्याओं से ग्रस्त है।

2

यह त्रुटि एंड्रॉइड ओएस द्वारा लगाए गए अधिकतम थ्रेसहोल्ड से संबंधित हो सकती है।

#define BTA_GATTC_NOTIF_REG_MAX  15 

- for 4.3 max number of notification/indication is 4 
- for 4.4 max number of notification/indication is 7 
- for 5.0 max number of notification/indication is 15 

https://groups.google.com/forum/#!topic/android-platform/FNHO5KB4sKI

https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.0.2_r1/bta/gatt/bta_gattc_int.h

-1

मैं जब WriteNoResponse संपत्ति के साथ writeCharacteristic प्रदर्शन कर इस त्रुटि प्राप्त किया। जब मैं writeCharacteristic के लिए तर्क निर्दिष्ट करता हूं, तो समस्या गायब हो जाती है।

0

बहुत देर से उत्तर, लेकिन यह gatt.writedescriptor() कॉल पर स्थिति 128 (GATT_NO_RESOURCES) का सामना करने वाले किसी के लिए मूल्यवान साबित हो सकता है।

मेरी स्थिति स्थिति 128 में ENABLE_NOTIFICATION_VALUE के मूल्य के साथ एक वर्णक लिखने की कोशिश करते समय दिखाया गया है, जिसके लिए ENABLE_INDICATION_VALUE के माध्यम से संकेत के लिए सदस्यता की आवश्यकता होती है।

तो बजाय

BluetoothGattDescriptor descriptor = bluetoothGattCharacteristic.getDescriptor(DESCRIPTOR_UUID); 
descriptor.setValue(ENABLE_NOTIFICATION_VALUE); 
mGatt.writeDescriptor(descriptor); 

के लिए

BluetoothGattDescriptor descriptor = bluetoothGattCharacteristic.getDescriptor(DESCRIPTOR_UUID); 
descriptor.setValue(ENABLE_INDICATION_VALUE); 
mGatt.writeDescriptor(descriptor); 

फिक्स्ड समस्या जा रहा है। मुझे लगता है कि चारों ओर एक ही त्रुटि स्थिति उत्पन्न होगी 128.

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