微信小程序加速度计api的使用以及坑坑坑

#小程序加速度计api一共就三个方法。
1、wx.onAccelerometerChange(CALLBACK) 监听加速度数据,频率:5次/秒,接口调用后会自动开始监听,每调用一次就会注册一个。
2、wx.startAccelerometer(OBJECT) 开始监听方法
坑来了。。。没错就是第三方法
3、wx.stopAccelerometer(OBJECT) 停止监听,这个方法是停止了监听,再晃动手机不会走回调方法了,但是它并不移除监听
那么问题来了,在某个页面每调用一次第一个api它就会注册一个监听,第三个api并不能移除掉监听,导致你再次开启的时候就会有多个回调方法在同时进行。就会出现问题。那么怎么避免呢?
解决方法:在微信小程序启动的时候就调用监听方法,在回到方法中通过pages能够获取到当前的页面,在当前页面调用你想回调的方法就好了。
onLaunch: function () {
  wx.onAccelerometerChange((e) => {
    var pages = getCurrentPages()
    var currentPage = pages[pages.length - 1]
    if (currentPage.onAccelerometerChange) {
      currentPage.onAccelerometerChange(e)
    }
  })
}
之后就可以在当前页面中的onAccelerometerChange(e)方法做你想做的事情了
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值