使用以下3个加速度API接口:
wx.onAccelerometerChange wx.startAccelerometer wx.stopAccelerometer
页面中通过onAccelerometerChange来判断摇一摇逻辑,在页面onHide后调用stopAccelerometer停止事件监听,但事件监听并未销毁。雪花掉落效果。
当再次进入微信小程序时,调用startAccelerometer,发现监听事件会再增加,每次微信小程序从后台到前台时都会增加监听,相当浪费效率。
在社区搜了解决方法,还没有解决,这个问题是否已经有解决方法了,谢谢。
// 控制器
Page({
isShow: false,
onHide: function () {
this.isShow = false;
wx.stopAccelerometer();
},
onShow: function () {
var thiz = this;
console.log(thiz.isShow);
if (thiz.isShow) {
wx.startAccelerometer();
} else {
this.isShow = true;
wx.onAccelerometerChange(function (e) {
var num = 0.5;
if (e.x > num && e.y > num || e.y > num && e.z > num || e.x > num && e.z > num) {
// 震动
wx.vibrateLong({
success: function (res) {
thiz.huoquGuo();
}
})
}
})
}
}
});
微信小程序开发问题解答 本文来自微信小程序工厂 http://www.xcxgc.com,转载请保留。
微信小程序开发者回答:
高***:
stopAccelerometer只是暂时停止事件监听,调用startAccelerometer后会全部开启之前停止的事件监听
高***:
问题已解决,onAccelerometerChange调用多少次就会开启多少事件监听,在app里onLaunch调用onAccelerometerChange,在方法内调用page的方法,然后在page的onShow、onHide里分别调用startAccelerometer、
stopAccelerometer。
微信小程序超过审核时间,微信小程序教程
高***:系统记录
本文网址:http://www.91bianli.com/weixinxiaochengxu/32822.html