Flutter 应用需要检查蓝牙和位置是否启用

Nic*_*win 2 android location bluetooth dart flutter

我正在使用 Flutter 应用程序,使用名为 flutter_blue 的 Dart 包连接到蓝牙设备。蓝牙设备连接成功,但前提是用户在其设备上启用了蓝牙和位置功能。我正在尝试找到一种方法来在尝试连接之前检测设备上是否启用了位置和蓝牙,以便我可以提示用户将其打开。目前,我还使用一个 Dart 包,该包与原生 Android 意图配合使用,以显示每个包的设置菜单(也有效)。我只需要一种方法来检查它们是否已启用,以便我知道是否显示设置菜单以供用户启用它们。

DNS*_*DNS 7

我希望这仍然有用

您可以通过以下方式检查蓝牙是否已启用:

Future<bool> _checkDeviceBluetoothIsOn() async {
    return await flutterBlue.isOn;
  }
Run Code Online (Sandbox Code Playgroud)

并使用PermissionHandler包检查是否启用了位置:

Future<bool> _checkDeviceLocationIsOn() async {
    return await Permission.locationWhenInUse.serviceStatus.isEnabled;
  }
Run Code Online (Sandbox Code Playgroud)