未能订阅蓝牙低功耗通知功能

埃马德·费兹(Emad Feiz)

在我的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,并看到问题已解决。

埃马德·费兹(Emad Feiz)

我找到了问题,经过一些测试,我从外围设备更改了通知特征描述符的UUID,并看到问题已解决。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章