首页 > 解决方案 > 如何从应用程序本身启用位置跟踪权限?

问题描述

我正在使用google_maps_flutter位置插件在我的应用程序中显示用户的位置。我想从我的应用程序本身启用 gps 权限,这似乎微不足道,但是当我尝试使用插件(如权限插件)时,我只能启用应用程序访问位置的权限,而不是 gps 权限。如果没有权限,我可以检查位置并敬酒,但是如何从应用程序本身启用它?

标签: google-mapspermissionsflutter

解决方案


我认为您想要的是打开位置设置,而不是打开 AndroidManifest.xml 中包含的权限。如果您需要,大多数地理定位器插件中都有请求权限方法,而不是设置。

假设您希望用户打开并打开位置,在 Android 中,我认为您需要创建一个意图,所以它看起来像这样..

import 'package:android_intent/android_intent.dart';

Then in your class...

static Future makeLocationDialogRequest() async { 

  final AndroidIntent intent = new AndroidIntent(
    action: 'android.settings.LOCATION_SOURCE_SETTINGS',);

  intent.launch();
}

然后稍后可能会使用您选择的插件进行检查,以检查用户是否确实启用了该位置。

请注意,这仅适用于 Android,因此请事先检查其是否为 Android 设备,例如

var platform = Theme.of(context).platform;

在此处了解有关 android_intent 的更多信息


推荐阅读