Xamarin PCL 蓝牙看不到设备

Posted

技术标签:

【中文标题】Xamarin PCL 蓝牙看不到设备【英文标题】:Xamarin PCL Bluetooth can't see devices 【发布时间】:2016-05-30 14:26:01 【问题描述】:

我正在尝试使用 xamarin 来做一个测试应用程序。 此应用程序必须搜索蓝牙设备,将它们查看到列表中并连接到它们以读取或写入数据。 我为我的项目选择了 xamarin 便携式类库。

我看到很多示例,但在我的列表中看不到设备。

我尝试Monkey Robotics(项目“Robocontroller”和项目“BLE”)但扫描我看不到设备! 机器人控制器:

05-30 15:14:21.048 D/Mono    (11792): [0x7f6946d000] worker starting
05-30 15:14:21.063 I/mono-stdout(11792): BluetoothLEManager: Scan timeout has elapsed.
BluetoothLEManager: Scan timeout has elapsed.
05-30 15:14:21.065 D/BluetoothAdapter(11792): stopLeScan()
05-30 15:14:21.067 D/BluetoothAdapter(11792): 622203304: getState(). Returning 12

BLE:

Adapter: Starting a scan for devices.
05-30 15:23:53.549 D/BluetoothAdapter(17688): startLeScan(): null
05-30 15:23:53.647 D/BluetoothLeScanner(17688): onClientRegistered() - status=0 clientIf=5
adapter.StartScanningForDevices(00000000-0000-0000-0000-000000000000)
05-30 15:23:53.755 I/mono-stdout(17688): adapter.StartScanningForDevices(00000000-0000-0000-0000-000000000000)
[0:] adapter.StartScanningForDevices(00000000-0000-0000-0000-000000000000)
05-30 15:23:53.768 I/Choreographer(17688): Skipped 152 frames!  The application may be doing too much work on its main thread.
Thread started: <Thread Pool> #7
05-30 15:24:03.718 D/Mono    (17688): [0xba2bcf40] worker starting
BluetoothLEManager: Scan timeout has elapsed.
05-30 15:24:03.801 I/mono-stdout(17688): BluetoothLEManager: Scan timeout has elapsed.
05-30 15:24:03.808 D/BluetoothAdapter(17688): stopLeScan()

我尝试了其他项目,例如“estimotes”、“xamarin BLE”(具有重定向到 Monkey.Robotics 的旧代码的项目)和“BluetoothLEExplorer”。 我正在使用最新版本的 xamarin 和 vs2015 pro。

有什么建议吗? 谢谢

【问题讨论】:

扫描范围内是否有基于 LE 的设备与经典蓝牙设备?并非所有设备都是 LE 或为这两种配置文件启用.... 是的,我用于调试 asus koa1 和其他必须找到的设备是:lumia 950xl,mac mini,其他 android 手机。我尝试用其他智能手机更换华硕,但同样的问题 当您使用“BLE 扫描仪”之类的第 3 方应用程序时,您看到这些设备了吗?您是否尝试过我们的 BLE 插件? :D github.com/xabre/xamarin-bluetooth-le 如果需要,请使用 1.0 的预发布版。 @Sven-MichaelStübe 我试过了,但没用。输出:适配器:扫描失败,代码为 ApplicationRegistrationFailed |适配器:扫描超时已过。 |适配器:停止扫描设备。 |适配器 >= 21:停止扫描设备。 | D/BluetoothLeScanner(29598):找不到回调包装器。感谢您的帮助 @mene 你有什么成功的吗?我需要在 PCL 中使用简单的蓝牙(不是专门的 BLE)功能。甚至可以在PCL中为Android和ios编写通用代码 【参考方案1】:

使用BLE看不到其他蓝牙设备(如安卓手机),必须是BLE设备。

【讨论】:

以上是关于Xamarin PCL 蓝牙看不到设备的主要内容,如果未能解决你的问题,请参考以下文章

为啥蓝牙搜索不到设备 ?

我的手机找不到蓝牙设备怎么办

为啥蓝牙搜索不到任何设备

蓝牙搜索不到怎么回事?

Xamarin.iOS 和 RFComm

蓝牙搜索不到设备怎么办