由于离开小程序后无法继续使用uni.getLocation获取用户位置,这一点在官方文档有说明,此时就需要后台获取位置的权限
1、首先在 manifest.json 配置 permission获取位置,在配置后台权限设置页的选项:
"permission" : {
"scope.userLocation" : {
"desc" : "小程序需要使用您的位置信息"
}
},
"requiredBackgroundModes": ["location"],//作用是为了设置页多出“使用小程序期间和离开小程序后”的选项
2、获取权限代码
//获取位置授权
uni.authorize({
scope: 'scope.userLocation',
success(res) {
that.ToIndexNow();
//获取位置后台定位授权
uni.authorize({
scope: 'scope.userLocationBackground',
success() {
},
fail(res) {
}
})
},
fail(res) {
uni.showModal({
content: '为了您能正常使用请务必授权位置信息为“使用小程序期间和离开小程序后”',
confirmText: '确认',
showCancel: false,
success(res) {
if (res.confirm) {
uni.openSetting({
success(res) {}
});
}
}
});
}
});
完成效果为:
版权声明:本文为honey_hui001原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。