Flutter - 如何在 android 中自动启用位置服务?

Posted

技术标签:

【中文标题】Flutter - 如何在 android 中自动启用位置服务?【英文标题】:Flutter - How to enable location service automatically in android? 【发布时间】:2019-03-14 02:47:04 【问题描述】:

我正在根据设备位置在商店附近进行展示。我已启用权限但无法打开位置。

如果我在关闭模式下进入我的应用程序,如何自动启用定位服务。

是否可以通过写一个平台通道来开启定位功能?

【问题讨论】:

您不能自动启用它。您应该提示一条消息,然后用户将其打开。看看:***.com/questions/33251373/… 好的。感谢您的回复。 @a.toraby ***.com/questions/33251373/… 的颤振等价物是什么? 【参考方案1】:

抱歉,在 android 中,您无法通过代码开启位置信息。您可以向用户显示System Dialog 并允许他们启用它。

即使是 Google 地图也无法自行打开和关闭位置信息。它要求用户这样做。

PS:我不知道ios,但我认为你也不能自己打开/关闭。

【讨论】:

好的。 android 5.0 等老版本可以自动开启定位吗? @user9274318 我不知道,但我认为你不能。 能否告诉我系统对话框是否可以在 android 6.0 之前的旧版本上运行。它在以后的版本中运行良好,即从 android 6.0 当您在运行 Android 6.0 及更低版本的设备上运行相同的代码时,它会做什么/显示什么? 我认为它不会比 Android 6.0 设备显示系统对话框。【参考方案2】:

试试这个原生对话窗口Location plugin

例子:

import 'package:location/location.dart';

var location = Location();

@override
void initState() 
  super.initState();
  _checkGps();



Future _checkGps() async 
if(!await location.serviceEnabled())
   location.requestService();
  

【讨论】:

以上是关于Flutter - 如何在 android 中自动启用位置服务?的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter 的 Android Studio 中启用相对路径自动导入

Flutter 是不是会在 iOS 中自动显示 Cupertino UI,在 Android 中使用单一代码库显示 Material?

在 Android 中集成 Flutter

使用 Flutter 在 Android Studio 中自动完成功能无法正常工作 - 第一个建议无关紧要

Flutter 中基于平台自动选择原生组件/小部件

即使 Flutter 应用程序在后台,如何自动响应 Firebase Document Stream 更新? [关闭]