收藏
回答

微信7.0 小程序定位授权拒绝后 跳设置页开启权限 返回获取权限失败

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug getLocation 客户端 7.0 2.4.3

- 当前 Bug 的表现(可附上截图)


打开小程序后弹出定位权限授权窗口,点击拒绝后,点击按钮触发跳转设置页,开启定位权限后返回,wx.getLocation()获取定位权限 为 'getLocation: fail auth deny',再次点击跳设置页关闭再开启后返回 获取ok


- 预期表现


第一次跳设置页开启定位权限户,返回应获取到当前定位


- 复现路径


基本上处理逻辑是这样的 都会出现这个 例如:美团外卖


- 提供一个最简复现 Demo


最后一次编辑于  2018-12-25  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • Eric Huang
    Eric Huang
    2018-12-25

    这个是已知问题,正在修复了,现阶段建议先使用延时来解决

    2018-12-25
    赞同
    回复 2
  • 微云
    微云
    2018-12-25

    这个问题很早之前我就提过了。官方说修复,一直修复到现在

    https://developers.weixin.qq.com/community/develop/doc/000c0cc59ac7b8ecf997df3b65b000

    2018-12-25
    赞同 1
    回复 3
    • Z.qiuz
      Z.qiuz
      2018-12-25

      好吧 我还以为是微信7.0的问题,因为我之前测试的都是没有问题的,就昨天升级了7.0 然后出现这个问题了,而且按理说,本身就是在按钮触发的绑定回调里调用wx.getLocation,本身就已经是异步了,官方写入后台是异步的,怎么能保证这两个异步是按理想情况来的?


      这个设计的很无语,我还是直接加个手动定位的按钮,让用户自己选择城市得了

      2018-12-25
      回复
    • 微云
      微云
      2018-12-25回复Z.qiuz

      目前我是用定时器延迟调用getLocation解决的。实际上如果官方能提供openSetting写入后台的异步回调就可以了!


      2018-12-25
      回复
    • 甜言
      甜言
      01-15

      https://developers.weixin.qq.com/community/develop/doc/000ea276b44928f7e8d73d0a65b801?page=6#comment-list

      01-15
      回复
  • SHANE
    SHANE
    01-16

    在onLoad和onShow里都用getSetting获取地理位置授权的那个值,为true的时候再去调用getLocation应该可以

    01-16
    赞同
    回复