我用 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/