在颤振中,我如何检查是否启用了位置?

时间:2019-01-06 08:29:08

标签: flutter

当用户在未启用位置的情况下进入google地图页面时遇到问题,该地图不会更新,因此我想检查用户是否已预先启用位置,因此我需要如果位置启用则返回true,否则返回false的函数。

3 个答案:

答案 0 :(得分:0)

您可以安装permission handler plugin,然后使用它:

accuracy

答案 1 :(得分:0)

使用permission handler plugin

ServiceStatus serviceStatus = await PermissionHandler().checkServiceStatus(PermissionGroup.location);
bool enabled = (serviceStatus == ServiceStatus.enabled);

您还可以显示请求许可的理由(仅限Android)

bool isShown = await PermissionHandler().shouldShowRequestPermissionRationale(PermissionGroup.location);

答案 2 :(得分:0)

对于像我这样遇到这个 stackoverflow 问题的人来说,PermissionHandler 包已经发生了变化和更新,旧的解决方案现在无效。

您可以检查是否启用了定位服务:

if (await Permission.locationWhenInUse.serviceStatus.isEnabled) {
  // Use location.
}