我升級到Windows 10,1703版本(版本15063)(Creators Update)正式版本。當我在WPF桌面應用程序中運行以下代碼時,BluetoothLEDevice.FromBluetoothAddressAsync永不返回。FromBluetoothAddressAsync永不返回Windows 10創作者WPF應用程序中的更新
此代碼在我的Windows 10更新(即之前的1607版本14393)之前正常工作。如果在新的10場1703
BluetoothLEAdvertisementWatcher BleWatcher = null;
private void Button_Click(object sender, RoutedEventArgs e)
{
BleWatcher = new BluetoothLEAdvertisementWatcher
{
ScanningMode = BluetoothLEScanningMode.Active
};
BleWatcher.Received += Watcher_Received;
BleWatcher.Start();
}
private async void Watcher_Received(BluetoothLEAdvertisementWatcher sender,
BluetoothLEAdvertisementReceivedEventArgs args)
{
var device = await BluetoothLEDevice.FromBluetoothAddressAsync(args.BluetoothAddress);
// never continues beyond this point above with my BTLE devices that previously worked
}
運行作爲UWP此代碼也能正常工作我跟着指示這裏https://stackoverflow.com/a/37335251/3187714設置我的WPF桌面應用程序使用UWP的API。
的問題更是雪上加霜,因爲當用戶開始升級贏得10 1703,因爲我現有的exe不再工作我現有的WPF應用程序將被打破。
是別人的(非UWP)桌面exe文件與Windows 10 1703更新遇到此問題?
經過進一步的實驗中,我確實發現,如果我加入了可選的BluetoothAddressType.Public第二個參數來調用FromBluetoothAddressAsync,該函數返回,但設備返回爲null。
var device = await BluetoothLEDevice.FromBluetoothAddressAsync(args.BluetoothAddress, BluetoothAddressType.Public);
是的,我有同樣的問題。這實際上很煩人,因爲我們項目的要求明確排除了UWP的使用,但強制使用BLE。使用微軟的API是一個痛苦的屁股... – Frank
權限?多數民衆贊成通常與這樣的東西問題。有時候它並不明顯,這可能是UWP windows藍牙許可的不同,它將UWP應用與藍牙進行比較。 –