首页 > 解决方案 > Xamarin Forms 与蓝牙经典

问题描述

我正在尝试与 Xamarin Forms 应用程序(适用于 Android 和 iOS)中的蓝牙探测器建立蓝牙经典 (SPP) 连接(即 NOT BLE)。我已经开始使用这个插件:https ://github.com/rostislav-nikitin/Plugin.BluetoothClassic 。这在大多数情况下似乎工作正常,但似乎无法使用此插件发现新设备。它只允许连接到当前绑定的设备,这很奇怪,因为它有一个startDiscovery方法。当发现设备时,我不知道如何处理。此外,我尝试使用https://github.com/xabre/xamarin-bluetooth-le插件(这似乎很受欢迎)。然而,这个插件似乎只适用于 BLE 设备并且找不到蓝牙经典设备。任何指导将不胜感激:)

标签: xamarin.formsbluetooth

解决方案


我最终做的是在共享 C# 项目中创建一个接口。然后,Xamarin Forms 应用程序的 Android 项目使用本机 BluetoothAdapter 类实现此功能以发现蓝牙设备。然后我可以使用MessagingCenter. 我还没有完全研究在 iOS 中发现设备,但在这个阶段我只是使用 BluetoothClassic 插件的方法来处理adapter.BondedDevices. 希望这在 iOS 上也是可能的,但在这个阶段,我猜这只是平台的限制。


推荐阅读