问题描述
我正在开发一个需要蓝牙的 Flutter 应用程序。如果蓝牙不起作用,则该应用程序没有任何用途。
我正在使用图书馆 flutter_reactive_ble。
此库使用 BleStatus 枚举传达设备蓝牙的状态。
潜在值如下...
poweredOff
ready
unauthorized
unkNown
unsupported
我正在尝试针对这些状态中的每一个确定我的行动方案。例如...
poweredOff - tell user to turn on bluetooth
ready - good to go
unauthorized - ??
unkNown - keep waiting till determined
unsupported - tell user app won't work on their device
我不太确定在未经授权的情况下该怎么做。我也不太确定未授权是什么意思。这是否意味着该应用程序没有在平台级别设置正确的权限?例如,开发人员可能没有向 AndroidManifest.xml 添加正确的权限。还是说我必须提示用户接受某些权限?
解决方法
通过参考软件包的文档 BleStatus.unauthorized
表示此应用程序未授权使用蓝牙,这意味着用户在请求时拒绝了蓝牙权限。
您可以要求您的用户在其手机设置中为应用程序授权蓝牙使用。