2017-01-02 88 views
0

我使用iPhone发送BLE广告中的数据(短字符串),我想从Windows设备读取此字符串。UWP BLE广告读取数据

所以我想从样本项目“BluetoothAdvertisement”:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BluetoothAdvertisement

我看到,我收到包裹,我可以读的localName等...在回调:

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

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

+0

您的问题是否已解决?你还有其他更新吗? –

回答

0

如果您使用的是公司特定的广告,我不知道您使用哪种方式将数据添加到广告中。我认为你可以从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); 
    } 
}