微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UWP 未找到任何使用 StartScanningForDevicesAsync 的 BLE 设备Xamarin 的 Plugin.BLE

如何解决UWP 未找到任何使用 StartScanningForDevicesAsync 的 BLE 设备Xamarin 的 Plugin.BLE

我正在尝试使用 Xamarin Plugin.BLE 查找 BLE 设备 代码

adapter.Devicediscovered += (s,a) => deviceList.Add(a.Device);
adapter.ScanTimeout = 30000;
await adapter.StartScanningForDevicesAsync();
            

UWP 找到 0 个设备。 与此同时,Bluetooth LE Explorer(来自微软的一个实用程序)找到了我的设备,以及其他十几个设备。 可能是什么问题呢? Windows 10、.NET v4.8、Plugin.BLE v2.2.0-pre、Xamarin.Forms 5.0 我更喜欢使用 Xamarin,因为我希望我的代码是跨平台的 - Windows 和 Android

Nico 的评论解决了这个问题。但是我还有另一个问题,密切相关。现在UWP成功找到服务并更新特性。但是,在我从 Visual Studio 运行的 Android 模拟器上,相同的代码没有找到任何内容。 有什么我又想念了吗? 我在 AndroidManifest 中有这些行

    <uses-permission android:name="android.permission.BLUetoOTH" />
    <uses-permission android:name="android.permission.BLUetoOTH_ADMIN" />

    <!--this is necessary for Android v6+ to get the device name and address-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

TIA

解决方法

UWP 未找到任何使用 StartScanningForDevicesAsync(Xamarin 的插件.BLE)的 BLE 设备

请参考此linkPlugin.BLE UWP 为 TBA 状态,尚不支持 UWP。如果你想使用这个插件,请参考 MenaceSan 的评论。

你没有使用整个分支。只需将 UWP 项目从中拉出即可。 只需复制 UWP 项目 (Plugin.BLE.UWP) 并将其包含为引用项目(不使用 NuGet)

,

UWP 未找到任何使用 StartScanningForDevicesAsync(Xamarin 的插件.BLE)的 BLE 设备

请检查您是否为 UWP 平台添加了蓝牙功能,双击 Package.appxmainfest 文件 -> 找到 Capabilities -> 启用蓝牙功能。

但是在我从 Visual Studio 运行的 Android 模拟器上,相同的代码没有找到任何东西。

恐怕您无法为 Android 模拟器启用蓝牙设备,请参阅此文档 limitations,请使用物理设备测试该应用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。