如何解决Uwp 如何从 BluetoothLEDevice
首先,抱歉我的英语不好。我正在研究 UWP 下的 BluetoothLE。 现在,我可以与我的蓝牙低功耗设备配对并获得服务。 然后,我想从我的蓝牙 (LE) 设备中获取所有特征。
我可以获取除人机接口设备 (HID) 特征之外的所有服务特征。 下面是获取特征的代码(在组合框事件中更改服务时)
private async void ServiceListCombo_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
var service = (GattDeviceService)((ComboBoxItem)ServiceListCombo.SelectedItem)?.Tag;
CharacteristicCombo.Items.Clear();
IReadOnlyList<GattCharacteristic> characteristics = null;
try
{
var accessstatus = await service.RequestAccessAsync();
if(accessstatus == DeviceAccessstatus.Allowed)
{
var result = await service.GetcharacteristicsAsync(BluetoothCacheMode.Uncached);
if(result.Status == GattCommunicationStatus.Success)
{
characteristics = result.characteristics;
}
else
{
StatusTextBlock.Text = $"{result.Status.ToString()} // Failed";
characteristics = new List<GattCharacteristic>();
}
}
else
{
StatusTextBlock.Text = $"{accessstatus.ToString()} // Failed2";
characteristics = new List<GattCharacteristic>();
}
}
catch(Exception msg)
{
StatusTextBlock.Text = $"Exception : {msg.Message}";
characteristics = new List<GattCharacteristic>();
}
foreach(GattCharacteristic c in characteristics)
{
CharacteristicCombo.Items.Add(new ComboBoxItem { Content = Helpers.GetCharacteristicName(c),Tag = c });
}
CharacteristicCombo.Visibility = Visibility.Visible;
}
我可以看到除 HID 之外的所有特征(状态:系统拒绝访问)
那么我想知道的是,如何在 HID Service 的特性中获取特性。
我真的很感激,如果你让我知道任何想法或建议。
谢谢。
解决方法
我可以获取除人机接口设备(HID)特征之外的所有服务特征。
请检查文档 here。在支持蓝牙 RFCOMM 服务 part 您会发现 Human Interface Device
不支持,恐怕您无法在 ble 中隐藏设备特征,如果您确实需要此功能,请随时发布您的Windows 反馈中心的要求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。