我正在BluetoothLEAdvertisementWatcher寻找附近的BLE设备并且它运行良好.找到它们后,我想通过GATT连接和读/写数据.但是在获得BluetoothLEAdvertisement(https://msdn.microsoft.com/de-de/library/windows/apps/windows.devices.bluetooth.genericattributeprofile)后我无法弄清楚如何使用API .
public class Adapter
{
private readonly BluetoothLEAdvertisementWatcher _bleWatcher = new BluetoothLEAdvertisementWatcher();
public Adapter()
{
_bleWatcher.Received += BleWatcherOnReceived;
}
private void BleWatcherOnReceived(BluetoothLEAdvertisementWatcher sender, BluetoothLEAdvertisementReceivedEventArgs args)
{
// how to connect?
// I know, it's the wrong place to to this, but this is just an example
}
public void StartScanningForDevices(Guid[] serviceUuids)
{
_blewatcher.advertisementfilter.advertisement.serviceuuids.clear();
foreach (var uuid in serviceuuids)
{
_blewatcher.advertisementfilter.advertisement.serviceuuids.add(uuid);
}
_blewatcher.start();
}
}
Run Code Online (Sandbox Code Playgroud)
我发现使用的样品DeviceInformation.FindAllAsync代替BluetoothLEAdvertisementWatcher但是这些样品不起作用/找不到任何设备.
UPDATE
经过一段时间的挖掘,我找到了以下方法.但不幸的是,配对失败了.该设备只是一个带有BLE屏蔽的Arduino.我绝对可以与Android和iOS连接.因此必须以某种方式与UWP合作.:/
private void …Run Code Online (Sandbox Code Playgroud) c# bluetooth-lowenergy gatt win-universal-app windows-10-universal