当用户在没有启用位置的情况下进入谷歌地图页面时,我遇到了问题,地图不会更新,所以我想检查用户是否事先启用了位置,所以我需要功能,如果启用位置,则返回 true,否则返回 false。
DNS*_*DNS 11
对于像我这样提出这个 stackoverflow 问题的人来说,PermissionHandler包已经发生了更改和更新,旧的解决方案现在无效。
您可以检查定位服务是否启用:
if (await Permission.locationWhenInUse.serviceStatus.isEnabled) {
// Use location.
}
Run Code Online (Sandbox Code Playgroud)
使用权限处理插件
ServiceStatus serviceStatus = await PermissionHandler().checkServiceStatus(PermissionGroup.location);
bool enabled = (serviceStatus == ServiceStatus.enabled);
Run Code Online (Sandbox Code Playgroud)
您还可以显示请求许可的理由(仅限 Android)
bool isShown = await PermissionHandler().shouldShowRequestPermissionRationale(PermissionGroup.location);
Run Code Online (Sandbox Code Playgroud)
或位置插件
var location = Location();
bool enabled = await location.serviceEnabled();
Run Code Online (Sandbox Code Playgroud)
并请求通过
bool gotEnabled = await location.requestService();
Run Code Online (Sandbox Code Playgroud)
您可以安装权限处理程序插件然后使用它:
final PermissionStatus permission = await PermissionHandler()
.checkPermissionStatus(PermissionGroup.location);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6273 次 |
| 最近记录: |