uniapp获取后台定位

  • Post author:
  • Post category:uniapp


由于离开小程序后无法继续使用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 版权协议,转载请附上原文出处链接和本声明。