收藏
回答

提一个bug,关于安卓手机调用wx.getSystemInfo的问题

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.getSystemInfo 客户端 Android 6.6.2 1.9.9

首先这是一个随机bug,我们在华为荣耀9和金立上重现过.

在OnLoad的时候调用wx.getSystemInfo接口,代码如下:

wx.getSystemInfo({

     success: function(res) {

       self.data.screenWidth = res.windowWidth;

       self.data.screenHeight = res.windowHeight;

       console.log("onLoad getSystemInfo success!");

       console.log("res.windowWidth:" + res.windowWidth);

       console.log("res.windowHeight:" + res.windowHeight);

     },

     fail: function (res){

       

       console.log("getSystemInfo fail!");

     }

   })


系统打印结果是

onLoad getSystemInfo success!

res.windowWidth:0

res.windowHeight:0


换句话说就是:获取窗口的宽高失败了,但是却走了success回调.


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

8 个回答

  • Sam
    Sam
    2018-02-24

    遇到同样的问题,官方有没有解决方案?

    2018-02-24
    赞同
    回复
  • zhang-hy
    zhang-hy
    2018-03-01

    我也是碰到这个问题,官方有解决方案了么

    2018-03-01
    赞同
    回复
  • Sam
    Sam
    2018-03-01

    安卓部分手机会出现,ios不会

    2018-03-01
    赞同
    回复
  • 还能玩吧
    还能玩吧
    2018-05-25

    你好,我也遇到同样的问题,请问下你最后是怎么解决了或者怎么规避了这个问题?

    2018-05-25
    赞同
    回复 1
    • 峰
      2018-05-25
      我写在楼下了
      2018-05-25
      赞同
      回复
  • 峰
    2018-05-25

    这个问题的解决方法有两种:

    1:如果必须在onLoad的时候调用,那么在后面做一个异常检测, 如果screenWidth为0时候,赋一个默认值.

    2:改在onReady的时候调用


    2018-05-25
    赞同
    回复 2
    • 还能玩吧
      还能玩吧
      2018-05-25
      onReady里面调用有什么不一样吗?
      2018-05-25
      赞同
      回复
    • 峰
      2018-05-25回复还能玩吧
      自己看下官方文档,生命周期函数的介绍部分
      2018-05-25
      赞同
      回复