低功耗蓝牙获取特性描述
Posted
技术标签:
【中文标题】低功耗蓝牙获取特性描述【英文标题】:Bluetooth Low Energy get characteristic description 【发布时间】:2013-12-12 11:05:09 【问题描述】:我有一个蓝牙 4.0 传感器,它向我发送了许多服务和特性,例如这个草稿示例:
<service uuid="ServiceUUID" advertise="true">
<description>Test Service</description>
<characteristic uuid="CharacteristUUID" id="test_rate">
<properties read="true" notify = "true"/>
<value length="1" type="hex"></value>
<description>Test Rate</description>
</characteristic>
</service>
我从 android 示例 BluetoothLEGatt 开始,我想动态获取特征描述名称,例如(测试速率),因为在示例中他们使用 SampleGattAttributes 类以编程方式获取描述。
有人知道这怎么可能吗?
问候。
【问题讨论】:
【参考方案1】:对于 BluetoothGatt 动态数据,您必须按照以下步骤创建回调方法
创建蓝牙设备对象,设备地址就是你连接后得到的那个
BluetoothManager m = (BluetoothManager)context.getSystemService(Context.BLUETOOTH_SERVICE);
m_adapter = m.getAdapter();
BluetoothDevice device = m_adapter.getRemoteDevice(deviceAddress);
创建 BluetoothGatt 对象
private BluetoothGatt m_gatt;
m_gatt = m_device.connectGatt(m_context, false, m_callback);
3.回调实现
private final BluetoothGattCallback m_callback = new BluetoothGattCallback()
public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status)
String testid = characteristic.getDescriptor(characteristic.getUuid()).getCharacteristic().getStringValue(0);
;
确保蓝牙权限和其他次要变量声明。
【讨论】:
首先感谢您的宝贵时间,但我正确获取了数据,我想获取标签以上是关于低功耗蓝牙获取特性描述的主要内容,如果未能解决你的问题,请参考以下文章