如何在Flutter中进行蓝牙连接和通信

问题描述 投票:0回答:1

我一直在搜索 Flutter 中蓝牙 BLE 的使用情况,但似乎只有几个插件,并且存在一些问题。我不想使用任何插件,因为我只需要读取二维码,获取 MAC 地址,然后让 Flutter 使用静态密码连接到隐藏的蓝牙设备。

1- 请求蓝牙许可:

在AndroidManifest.xml中:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

iOS 在 Info.plist 中:

<key>NSBluetoothAlwaysUsageDescription</key>
<string>Need BLE permission</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Need BLE permission</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Need Location permission</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Need Location permission</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Need Location permission</string>

2- 设置蓝牙启用,
3- 检查蓝牙设备“$MACadress”是否可达,
4- 连接并发送 25 字节十六进制数组。

有没有任何无插件的方法可以用 Flutter 来做到这一点?
如果不是那么我应该走哪条路?

flutter bluetooth core-bluetooth
1个回答
0
投票

不。没有插件的 Flutter 本身是非常有限的。没有内置蓝牙 API。

这就是使用任何“跨平台”应用程序创建系统的缺点 - 它们通常缺乏所需的功能,使得做“本机”东西比刚开始做“本机”应用程序更复杂。除非有人已经完成了艰苦的工作并编写了足够好的绑定

无论如何,在 iOS 上,您无法仅使用设备地址连接到 BLE 设备,因为 iOS 隐藏了该地址。

© www.soinside.com 2019 - 2024. All rights reserved.