原文链接:https://www.5axxw.com/questions/content/6zrs4y
使用permission_handler设置定位权限后只有’仅在使用该应用时允许’,找了好一会儿没找到原因。上面的链接解决了我的问题。
/// 动态申请定位权限
void requestPermission() async {
// 申请权限
bool hasLocationPermission = await requestLocationPermission();
if (hasLocationPermission) {
print("定位权限申请通过");
} else {
print("定位权限申请不通过");
}
}
/// 申请定位权限
/// 授予定位权限返回true, 否则返回false
Future<bool> requestLocationPermission() async {
//获取当前的权限
var locationWhenInUse = await Permission.location.status;
if (locationWhenInUse == PermissionStatus.granted) {
//已经授权
return true;
} else {
//未授权则发起一次申请
locationWhenInUse = await Permission.location.request();
if (locationWhenInUse == PermissionStatus.granted) {
return true;
} else {
return false;
}
}
}
//*****************************分割线*************************************************//
AndroidManifest.xml中使用了
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION " />
在增加一个权限
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
然后定位权限设置中就有“始终允许”的选择了。