微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Uwp 如何从 BluetoothLEDevice

如何解决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 举报,一经查实,本站将立刻删除。