- 当前 Bug 的表现(可附上截图)
一个按钮同时绑定了touchcancel和touchstart事件,touchstart里面获取录音授权出现授权弹窗,触发不了touchcancel事件
- 预期表现
授权过后再提示用户重新开始操作
- 复现路径
- 提供一个最简复现 Demo
先清除语音授权再操作
<button type="default" bindtouchcancel='touchCancel' bindtouchstart='touchStart'>
var hasError = false;
touchStart: function() {
wx.authorize({
scope: 'scope.record',
success: function() {
if(hasError){
console.log('ok');
}else{
console.log('err')
}
},
})
},
touchCancel: function(){//这里执行不到
hasError = true;
console.log('touch cancel')
},
之前做混合开发的时候碰到过,部分安卓机对于touch事件和授权弹窗的不兼容。。当然不排除这里可能只是小程序自己的bug~
建议进页面的时候,先getSetting看看有没有录音权限。没有的话,放个授权按钮(弄得和你的录音按钮一样),授权之后再替换成录音按钮。
目前这也是个办法,已实现目的,谢谢了,直接根据授权状态绑定不同方法