如何处理 "gps" 位置提供者需要 ACCESS_FINE_LOCATION 许可。在 flutter 应用程序中

How to handle "gps" location provider requires ACCESS_FINE_LOCATION permission. in flutter apps

您好,我正在尝试通过使用位置包和 google-maps-flutter in flutter 来获取用户位置。但是我得到一个错误,说 "gps" location provider requires ACCESS_FINE_LOCATION permission. 我已经在我的代码中添加了这段代码安卓清单文件

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

尽管我添加了该代码,但我仍然遇到错误..我应该做些什么来防止这个问题?

您应该检查自己的权限状态,如果没有被用户授予,您应该请求权限。您可以使用位置插件来请求权限。

https://pub.dev/packages/location

Location location = new Location();

bool _serviceEnabled;
PermissionStatus _permissionGranted;
LocationData _locationData;

_serviceEnabled = await location.serviceEnabled();
if (!_serviceEnabled) {
  _serviceEnabled = await location.requestService();
  if (!_serviceEnabled) {
    return;
  }
}

_permissionGranted = await location.hasPermission();
if (_permissionGranted == PermissionStatus.denied) {
  _permissionGranted = await location.requestPermission();
  if (_permissionGranted != PermissionStatus.granted) {
    return;
  }
}

_locationData = await location.getLocation();