c# - UWP BLE Advertising 读取数据

标签 c# ios bluetooth uwp bluetooth-lowenergy

我用 iPhone 在 BLE Advertising 中发送数据(短字符串),我想从 Windows 设备读取这个字符串。

所以我正在尝试示例项目“BluetoothAdvertisement”,来自:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BluetoothAdvertisement

我看到我收到包裹,我可以在回调中读取本地名称等...:

 private async void OnAdvertisementReceived(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs eventArgs)
    { }

但是我怎样才能读取字符串呢?

最佳答案

如果您使用的是公司特定的广告,我不知道您使用哪些方式向广告添加数据。我认为您可以从 BluetoothLEAdvertisementReceivedEventArgs 获取自定义数据部分,然后查询 eventArgs.Advertisement.ManufacturerData 以获取 BluetoothLEManufacturerData

private async void OnAdvertisementReceived(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs eventArgs)
{
    var DataList = eventArgs.Advertisement.ManufacturerData;
    foreach (var temp in DataList)
    {
        var data = new byte[temp.Data.Length];
        using (var reader = DataReader.FromBuffer(temp.Data))
        {
            reader.ReadBytes(data);
        }
        var str = Encoding.ASCII.GetString(data);
    }
}

关于c# - UWP BLE Advertising 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41425293/

相关文章:

c# - Xml序列化错误: Unable to cast object of type

iphone - UIButton 背景图片制作工具?

ios - 使用通用 Codable API 客户端处理非 JSON 响应

ios - iOS 中的实例 ID?

ios - 我可以使用 iBeacon 技术连接两部 iPhone 吗?

java - 从 Android 应用程序向 Mi Band 5 发送通知

c# - 不 <asp :A runat=”server” B=”someValue” …/> syntax violate one of the basic rules in C# language?

c# - C#中的自动类型转换

c# - 安装项目的自动增量版本

linux - linux下如何获取蓝牙串口状态?