蓝牙未授权怎么办?

问题描述

我正在开发一个需要蓝牙的 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 表示此应用程序未授权使用蓝牙,这意味着用户在请求时拒绝了蓝牙权限。

您可以要求您的用户在其手机设置中为应用程序授权蓝牙使用。