收藏
回答

wx.getSystemInfoSync不能实时监听gps开关



写了个定时器执行 wx.getSystemInfoSync() ,过程中尝试切换gps,但没有下一次调此接口的时候没有把locationEnabled变为ture,而当退出该页面再重新进入的时候locationEnabled会变为true;何解?

回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2019-05-21

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-05-21
    赞同
    回复 10
    • 对方正在输入...
      对方正在输入...
      2019-05-22

      不需要机型吧,

      wx.getSystemInfo这个api不能实时监听GPS开关的改变,会记录下第一次获取的信息(至少locationEnabled 这个属性不会刷新)

      例如,我在onShow钩子中使用了该API获取到当前系统的GPS开关状态信息(GPS是关的),然后我改变了GPS的状态(把GPS打开了),然后刷新页面(重新调用了onShow钩子),得到的结果还是第一次的状态,

      无解

      2019-05-22
      回复
    • lw
      lw
      2019-05-23回复对方正在输入...

      真机调试locationEnabled会出现

      2019-05-23
      回复
    • 对方正在输入...
      对方正在输入...
      2019-05-23回复lw

      上线之后也会有吧,不敢用这个API啊

      2019-05-23
      回复
    • lw
      lw
      2019-05-23回复对方正在输入...

      线上没试过,只要不是真机调试,开发测试没问题。我也担心线上有问题,我还拿这两个字段做逻辑判断呢

      2019-05-23
      回复
    • 对方正在输入...
      对方正在输入...
      2019-05-23回复lw

      那是因为开发者工具根本就没有locationEnabled这个属性吧,你把返回值打印出来就看到了

      2019-05-23
      回复
    查看更多(5)
  • SKY
    SKY
    2019-08-16

    这是一个坑,真机调试无法实时获取到gps开关的状态。但直接预览,在开发版的vConsole中查看却可以实时获取到。体验版和正式版还未测试,走过最长的套路就是小程序的套路。

    楼主发的图片应该是真机调试的界面

    2019-08-16
    赞同
    回复 2
    • Gus
      Gus
      02-19
      你好,请问这个问题再体验版和正式版会有问题吗?
      02-19
      回复
    • SKY
      SKY
      02-21回复Gus
      只有真机调试才有问题,其他版本都没问题
      02-21
      回复
  • 夜雨般的十年
    夜雨般的十年
    2019-07-10

    我做了测试,iPhone可以监听到gps的开启状态,安卓手机不行,安卓只能刷新页面获得开启状态,有没有解决办法

    2019-07-10
    赞同
    回复 1
    • victorykong
      victorykong
      2019-11-25
      刚用安卓真机调试,可以了,包括安卓的工具栏
      2019-11-25
      回复
登录 后发表内容