如何处理 "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();
您好,我正在尝试通过使用位置包和 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();