马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
startLocationUpdateBackground:fail auth deny 表明小步调在实行开启背景位置更新时,用户授权被拒绝。以下是大概的缘故起因及办理方法:
缘故起因分析
缺少须要的用户授权:
使用 wx.startLocationUpdateBackground 接口须要用户授予 scope.userLocationBackground 权限。如果用户未授权或拒绝授权,接口调用将失败。
未在 app.json 中正确设置:
- 自 2022 年 7 月 14 日后发布的小步调,使用该接口须要在 app.json 中声明 requiredBackgroundModes: [‘location’]。如果未举行此设置,接口将无法正常使用。
类目限定:
- 该接口仅对特定类目的小步调开放。如果您的应用类目不在开放范围内,纵然完成授权和设置,也无法使用该接口。
接口权限未开通:
- 纵然类目符合要求,还需在小步调管理背景的「开发」-「开发管理」-「接口设置」中自助开通该接口权限。
办理方法
在小步调启动时或干系功能入口,使用 wx.authorize 或 wx.openSetting 引导用户授予 scope.userLocationBackground 权限。- wx.getSetting({
- success(res) {
- if (!res.authSetting['scope.userLocationBackground']) {
- wx.authorize({
- scope: 'scope.userLocationBackground',
- success() {
- // 用户已授权,可以进行后续操作
- },
- fail() {
- // 用户拒绝授权,提示用户手动开启
- wx.showModal({
- title: '授权提示',
- content: '需要获取您的后台位置权限以提供相关服务,是否前往设置?',
- success(res) {
- if (res.confirm) {
- wx.openSetting({
- success(settingData) {
- if (settingData.authSetting['scope.userLocationBackground']) {
- // 用户已开启权限
- }
- }
- });
- }
- }
- });
- }
- });
- }
- }
- });
复制代码 确保在 app.json 中添加了以下设置:- {
- "permission": {
- "scope.userLocation": {
- "desc": "应用需要获取您的位置信息,以便为您提供相关服务"
- }
- },
- "requiredPrivateInfos": [
- "chooseAddress",
- "getLocation",
- "chooseLocation",
- "onLocationChange",
- "startLocationUpdate",
- "startLocationUpdateBackground"
- ],
- "requiredBackgroundModes": [
- "location"
- ],
- }
复制代码 查抄您的小步调类目是否符合开放要求。
如果符合,登录小步调管理背景,按照路径「开发」-「开发管理」-「接口设置」自助开通 startLocationUpdateBackground 接口权限。
在完成上述步调后,发起在真实装备上举行测试,确保授权流程顺畅且接口调用乐成。
@漏刻偶然
|