我目前正在开发一个 Flutter 应用程序,该应用程序是跨平台的,适用于 Android 和 iOS。
此应用程序必须提供的功能之一是在按下蓝牙遥控器的按钮时执行特定操作。目前,我们正在使用这种遥控器,它可以完成工作。它的工作方式是模拟按下电话的“音量调高”物理键。因此,我在 Flutter 应用程序中需要做的就是监听按键并执行操作。
问题在于,根据AppStore2.5.9指南,禁止“更改或修改标准开关的功能,例如音量增大/减小和[...]”。 我花了很多时间寻找替代方案,但未能找到。我相当肯定应该有一个,但我对蓝牙通信的了解仍然不是最好的。我想我的问题是:
是否存在发送简单“信号”而不是模拟物理设备按键的蓝牙遥控器?
预先感谢您的帮助!
可以实现此目的。您可以在 flutter 中使用像 reactive_ble 这样的蓝牙库,扫描设备,连接到外围蓝牙设备,订阅蓝牙服务,等待接收消息,然后增加音量。等待是通过使用侦听器并为侦听器设置一个函数来完成的:
_ble = FlutterReactiveBle()
_ble.scanForDevice().listen((device){
_ble.connectToDevice(id: device.id).listen((connectionUpdate){
//This device will have services which have characteristics
})
})
...
Stream<List<int>> dataStream =
_ble.subscribeToCharacteristic(deviceCharacteristic)
...
dataStream.listen((event){ [code to handle data] })