首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter应用程序需要检查是否启用了蓝牙和定位

Flutter应用程序需要检查是否启用了蓝牙和定位
EN

Stack Overflow用户
提问于 2020-04-17 02:34:35
回答 2查看 2.6K关注 0票数 2

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

EN

回答 2

Stack Overflow用户

发布于 2021-04-20 02:35:37

我希望这仍然是有用的

您可以使用以下命令检查是否启用了蓝牙:

代码语言:javascript
复制
Future<bool> _checkDeviceBluetoothIsOn() async {
    return await flutterBlue.isOn;
  }

并检查是否使用PermissionHandler包启用了位置,其中包含:

代码语言:javascript
复制
Future<bool> _checkDeviceLocationIsOn() async {
    return await Permission.locationWhenInUse.serviceStatus.isEnabled;
  }
票数 3
EN

Stack Overflow用户

发布于 2020-10-11 03:36:11

实际上,我正在处理与您相同的案例,我检查它的方法是使用以下代码:

为了检查蓝牙激活,你可以监听flutter blue库提供的状态流,你可以像下面这样访问它:

代码语言:javascript
复制
FlutterBlue.instance.state 

对于定位,我没有找到一种“本地颤动方式”,所以我使用了geolocator包,它可以让你检查定位是否处于活动状态。

它为您提供了一个解决布尔值的未来,该布尔值表示活动时为true,禁用时为false。

代码语言:javascript
复制
Geolocator().isLocationServiceEnabled()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61257531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档