![](/img/trans.png)
[英]How do I correctly subscribe to a bluetooth low energy device's GattCharacteristic.ValueChanged notification (indication) in a Windows UWP App?
[英]Failed to subscribe to notification characteristic in bluetooth low energy
在我的 UWP 应用程序中,我想连接到低功耗蓝牙外围设备并订阅其通知特性。 这是应用程序Connect
方法:
private async Task Connect(string id)
{
var device = await BluetoothLEDevice.FromIdAsync(id);
var gattService = (await device.GetGattServicesForUuidAsync(Guid.Parse("00002600-005d-0012-00ef-00000000717f"))).Services.FirstOrDefault();
if (gattService != null)
{
var notificationCharacteristic = (await gattService.GetCharacteristicsForUuidAsync(Guid.Parse("00009e76-0c4d-0db6-08b6-000000020445"))).Characteristics.FirstOrDefault();
if (notificationCharacteristic.CharacteristicProperties.HasFlag(GattCharacteristicProperties.Notify))
{
try
{
var result = await notificationCharacteristic.WriteClientCharacteristicConfigurationDescriptorAsync(GattClientCharacteristicConfigurationDescriptorValue.Notify);
}
catch (Exception ex)
{
}
}
}
}
问题是当我尝试写入通知特性时, WriteClientCharacteristicConfigurationDescriptorAsync
方法引发异常:
无法写入该属性。 (来自 HRESULT 的异常:0x80650003)
我使用 android 应用程序测试了这个场景,我可以毫无问题地编写通知特性。 我想知道 UWP 有什么问题?
更新:我从外围设备更改了通知特征描述符的 UUID,发现问题已解决。
我发现了问题,经过一些测试,我从外围设备更改了通知特征描述符的UUID,看到问题解决了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.