xamarin.forms - 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 设备并且找不到蓝牙经典设备。任何指导将不胜感激:)
解决方案
我最终做的是在共享 C# 项目中创建一个接口。然后,Xamarin Forms 应用程序的 Android 项目使用本机 BluetoothAdapter 类实现此功能以发现蓝牙设备。然后我可以使用MessagingCenter
. 我还没有完全研究在 iOS 中发现设备,但在这个阶段我只是使用 BluetoothClassic 插件的方法来处理adapter.BondedDevices
. 希望这在 iOS 上也是可能的,但在这个阶段,我猜这只是平台的限制。
推荐阅读
- python - 在熊猫数据框中找到具有最大值差异的行对
- python - 如何使用 LMFIT 拟合具有共享参数的非线性曲线
- c++ - 这个奇怪的数字在输出中意味着什么?这是一些内存位置吗?
- delphi - 如何在 Firemonkey 的 TTabItem 中插入另一个控件
- java - 使用 Micrometer 将 New Relic 与 Spring Boot 集成
- javascript - Chart.js x 轴不适用于线条,但适用于散点图
- spring - 在spring配置文件中进行HTTP调用后,spring集成应用程序的日志中缺少correlationId
- c - Kotlin/Native:使用生成的 C 包装器时出现错误未定义引用?
- office365 - 我是 Teams 管理员,我希望报告特定用户的 Teams 用户状态更改。我怎么才能得到它???谢谢
- reactjs - 无法在本机反应中格式化古兰经页面