颤振和蓝牙

时间:2020-11-01 10:07:31

标签: flutter bluetooth

我一直在用Flutter搜索蓝牙BLE的用法,但似乎只有很少的插件,而且它们存在一些问题。我不想使用任何插件,因为我只需要阅读一个QR码,获取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-连接并发送25byte的十六进制数组。

使用Flutter可以做到这一点吗?
如果不是,那我应该遵循哪种方式?

1 个答案:

答案 0 :(得分:0)

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

这是使用任何“跨平台”应用程序制造商系统的弊端-它们通常缺少所需的功能,这使得处理“本机”工作比开始时仅使用“本机”应用程序更加复杂。除非有人已经完成了艰苦的工作并编写了足够好的绑定

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