是否可以从DeviceInformation对象创建BluetoothLEDevice?我已经尝试在BluetoothLEDeviceFromIdAsync中使用DeviceInformation的Id属性但是只会抛出错误
public static async Task<BluetoothLEDevice> DeviceFromDeviceInfo(DeviceInformation x)
{
try {
string g = x.Id.Substring(x.Id.IndexOf("{") + 1);
g = g.Remove(g.IndexOf("}"));
return await BluetoothLEDevice.FromIdAsync(g);
}
catch (Exception e){
throw e;
}
}
抛出{“未找到元素。(HRESULT异常:0x80070490)”}
答案 0 :(得分:1)
我遇到了与心率设备相同的问题。使用常规蓝牙(非LE)设备,您的代码应在连接后运行。然而,对于BTLE,目标是发现设备而无需用户首先配对它。我对这部分没有答案。使用Windows 8.1不可能MSDN Forum Post (2014),MVP Blog Post (2014),但我希望Windows 10 Universal Apps能够实现这一点。
Stackoverflow上有很多未解决的蓝牙LE发现和扫描帖子并不令人鼓舞。希望我们能尽快得到答案!
答案 1 :(得分:0)
只要您尝试访问的设备已配对,您就应该可以访问它。我不确定你为什么要修改Id
。要创建设备,您只需要:
DeviceInformation deviceInfo = __;
BluetoothLEDevice device = await BluetoothLEDevice.FromIdAsync(deviceInfo.Id);