kicy
kicy
  • 发布:2020-05-08 11:09
  • 更新:2022-06-27 15:57
  • 阅读:2771

【wx.startLocationUpdateBackground】在uniapp框架里真机运行时不能调起,测试了在微信原生框架可以使用这个API

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]

[期望]
输出授权成功:'授权成功 --- userLocation'

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

uni-app运行环境说明

[运行端是] 微信小程序

[iOS运行系统] 13.3.1

[手机型号] iPhone 8

[微信版本] 7.0.12

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

代码片段:
1、manifest.json 里勾选了位置接口和相关描述
2、在pages.json配置:
"requiredBackgroundModes": ["location"],
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
},
"scope.userLocationBackground": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
},
3、执行的代码:
wx.getSetting({
success: (res) => {
if (!res.authSetting['scope.userLocationBackground']) {
wx.authorize({
scope: ' scope.userLocationBackground',
success: (res) => {
//scope.userLocationBackground 不会弹窗提醒用户,引导用户手动授权
wx.showModal({
title:'提示',
content: '授权失败,点击右上角设置位置为使用时和离开后!',
success: (result) => {
if(result.confirm){
wx.openSetting({
complete:(res)=>{
res.authSetting = {
"scope.userLocationBackground": true,
}
wx.startLocationUpdateBackground({
success: (res) => {
console.log('后台授权-success-res:', res);

                                                        },  
                                                        fail: (res) => {  
                                                            console.log('后台授权====fail失败--res:', res)  
                                                        }  
                                                    });  
                                                }  
                                            })  
                                        }  

                                    }  
                                })  
                            },  
                            fail: (res) => {  
                                console.log('授权失败 --- userLocation', res)  
                            },  
                        })  

                    } else {  
                        console.log('已授权后台位置')  
                        wx.onLocationChange((res) => {  
                            console.log('onLocationChange=====res====', res)  
                        })  
                    }  
                },  

                //getSetting失败  
                fail: (res) => {  
                    console.log('getSetting--失败', res)  
                },  

            })  

联系方式

[QQ] 756099379
[微信] 18802683293

2020-05-08 11:09 负责人:无 分享
已邀请:
zhangdaren

zhangdaren - 小程序转uniapp工具:https://ext.dcloud.net.cn/plugin?id=2656

uniapp没这个api,,,

arroning

arroning - 我是不一样的烟火

我们也遇到这样的问题,为什么uniapp框架 不支持微信小程序的函数 wx.startLocationUpdateBackground。请官方抓紧修复。

DCloud_heavensoft

DCloud_heavensoft

后台定位,是微信特有的。他建立在微信的后台进程,手机rom厂商不敢杀的基础上。
普通开发者做的app,在后台时,手机rom厂商为了节电,都会杀掉,无法持续请求定位。

lz_0618

lz_0618 - 老程序员

wx.startLocationUpdateBackground在uni-app下可以用的,只是需要小程序设置“位置信息”为“使用小程序期间和离开小程序后”!在原生环境下,似乎我没有设置就没有问题(当时没有注意),但在微信官方文档中明确需要这么设置的!

是张张啊

是张张啊 - 继续加油呀

请问现在解决了吗?搜索官方还是没有startLocationUpdateBackground这个函数

该问题目前已经被锁定, 无法添加新回复