因此我的应用程序使用蓝牙低功耗,并要求使用通知和指示。但是,我无法启用指示。是否可以同时启用通知和指示?如果是,那么该方法是否有效?
gattInstance.setCharacteristicNotification(charac, true);
BluetoothGattDescriptor desc = charac.getDescriptor(UUID_CCCD);
desc.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
desc.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
gattInstance.writeDescriptor(desc);
答案 0 :(得分:0)
当您致电desc.setValue
时,实际上会覆盖以前的值。所以在这里,你只用INDICATION
来编写CCCD。
Per Core Spec v4.2,§3.G.3.3.3.3,CCCD是一个位域,所以你应该能够写出16位的小端值0x0003(在BluetoothGattDescriptor中似乎没有为此定义常量)。