Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# BLE广告观察者-如何获取数据_C#_Uwp_Windows 10_Bluetooth Lowenergy_Ads - Fatal编程技术网

C# BLE广告观察者-如何获取数据

C# BLE广告观察者-如何获取数据,c#,uwp,windows-10,bluetooth-lowenergy,ads,C#,Uwp,Windows 10,Bluetooth Lowenergy,Ads,我想制作一个节目(UWP),观看可播放的广告。我使用了与“Windows通用示例”相同的代码,用于查看所有LE广告并将其显示在列表中。 但是我想要一种方式来阅读广告中的数据或信息。 有人能帮我吗? 提前谢谢 更新27/01 你好, 我尝试了一个可以用作广告客户的应用程序。我运行了该程序,但得到了以下结果: [04:28:03.265]: type=ConnectableUndirected, name=, manufacturerData=[], Message="" 我不知道为什么我的代码不

我想制作一个节目(UWP),观看可播放的广告。我使用了与“Windows通用示例”相同的代码,用于查看所有LE广告并将其显示在列表中。 但是我想要一种方式来阅读广告中的数据或信息。 有人能帮我吗? 提前谢谢

更新27/01

你好,
我尝试了一个可以用作广告客户的应用程序。我运行了该程序,但得到了以下结果:

[04:28:03.265]: type=ConnectableUndirected, name=, manufacturerData=[], Message=""
我不知道为什么我的代码不能读取任何数据! 谁能帮帮我

但是我想要一种方式来阅读广告中的数据或信息

您可以创建蓝牙LE广告监视程序,设置回调,并开始监视所有LE广告

BluetoothLEAdvertisementWatcher watcher = new BluetoothLEAdvertisementWatcher();
watcher.Received += OnAdvertisementReceived;
watcher.Start();
如果您已收到广告,并且下面的
manufacturerSections
是BluetoothLeadVertizement中特定于制造商的数据节列表,您可以在
OnAdvertisimentReceived
事件处理程序中处理它,如下所示

var manufacturerSections = eventArgs.Advertisement.ManufacturerData;
if (manufacturerSections.Count > 0)
{
    // Only print the first one of the list
    var manufacturerData = manufacturerSections[0];
    var data = new byte[manufacturerData.Data.Length];
    using (var reader = DataReader.FromBuffer(manufacturerData.Data))
    {
        reader.ReadBytes(data);
    }
    // Print the company ID + the raw data in hex format
    manufacturerDataString = string.Format("0x{0}: {1}",
        manufacturerData.CompanyId.ToString("X"),
        BitConverter.ToString(data));
}

有关更多信息,请参阅文档。

非常感谢您的回答!但是如果有一个android设备发布广告,并且广告包含一条字符串消息。我想在我的windows 10应用程序中阅读该消息。我该怎么做呢?以上是一个通用的过程,你也可以用它在Windows10中接收android广告device@NicoZhu-MSFT老问题和答案,但我还是尝试了。我正在运行与您相同的代码,但ManufacturerData始终是一个空列表。当我在手机上使用应用程序(nRF Connect)时,我可以很好地看到广告和制造商数据。该代码从其他设备中拾取一些其他随机广告,它们包含数据。知道我的问题是什么吗?