我有一个这样的功能。使用flutter的Location包,它显示了启用GPS的对话框。
Future<bool> _checkServiceStatus() async {
final Location location = Location();
bool serviceStatus = await location.serviceEnabled();
if (!serviceStatus) {
serviceStatus = await location.requestService();
print('status -> $serviceStatus');
}
return serviceStatus;
}
当它调用 await location.requestService()它显示了启用GPS的对话框,但之后它从未返回结果。打印() 功能。
我在这里做错了什么?
任何帮助将是非常感激! 先谢谢你了。
我也有同样的问题。可以通过升级你的Flutter项目来解决,按照这个链接 https:/github.comflutterflutterwikiUpgrading-pre-1.12-Android-projects。
试试这段代码来检查wather权限是否启用,服务是否启用,否则返回true,否则返回false。必须在android和ios项目中配置 "位置 "包相关配置。
Future<bool> checkServiceStatus() async {
final Location location = Location();
final locationPermission = await location.hasPermission();
if (locationPermission == PermissionStatus.granted) {
final locationServiceEnabled = await location.serviceEnabled();
if (locationServiceEnabled == true) {
return true;
} else {
final requestServiceStatus = await location.requestService();
if (requestServiceStatus == true) {
return true;
} else {
BotToast.showSimpleNotification(
title: "Enable GPS to allow this feature");
return false;
}
}
} else {
BotToast.showSimpleNotification(title: "Required location permission to allow this feature");
return false;
}
}