在我的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,并看到问题已解决。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句