2016-05-16 48 views
2

我正在尝试为我的手机编写一个应用程序,该应用程序连接到BLE设备。c#UWP BluetoothLEDevice.FromIdAsync System.IO.FileNotFoundException

该设备已配对,我编辑了appxmanifest以启用蓝牙功能。

但是当我运行应用程序,下面的代码,

await BluetoothLEDevice.FromIdAsync(deviceInfo.Id); 

导致异常抛出:“System.IO.FileNotFoundException”在mscorlib.ni.dll

没有人有一个想法我做错了什么?

谢谢!

var deviceList = await DeviceInformation.FindAllAsync(GattDeviceService.GetDeviceSelectorFromUuid(GattServiceUuids.GenericAccess), null); 
int count = deviceList.Count(); 
if (count > 0) 
{ 
    var deviceInfo = deviceList.Where(x => x.Name == "XC-Tracer").FirstOrDefault(); 
    if (deviceInfo != null) 
    { 
     if (deviceInfo.IsEnabled) 
     { 
      var bleDevice = await BluetoothLEDevice.FromIdAsync(deviceInfo.Id); 
      var deviceServices = bleDevice.GattServices; 
     } 
    } 
} 

回答

1

我能够通过使用GattDeviceService而不是使用BluetoothLEDevice类来得到这个工作:

var deviceList = await DeviceInformation.FindAllAsync(GattDeviceService.GetDeviceSelectorFromUuid(GattServiceUuids.GenericAccess), null); 
int count = deviceList.Count(); 
if (count > 0) 
{ 
    var deviceInfo = deviceList.Where(x => x.Name == "XC-Tracer").FirstOrDefault(); 
    if (deviceInfo != null) 
    { 
     if (deviceInfo.IsEnabled) 
     { 
      var bleDevice = await GattDeviceService.FromIdAsync(deviceInfo.Id); 
      var deviceServices = bleDevice.GattServices; 
     } 
    } 
}