小程序拒绝摄像头授权,重新允许无法调起摄像头
公司项目需要做到自动拍照功能,发现如果用户拒绝了授权,再重新引导用户授权后,无法重新调用摄像头。
然后做了各种尝试,发现是页面渲染camera问题,当用户进入页面拒绝或者允许授权时这个标签都已经被渲染,所以当用户重新允许这个标签也是不会重新加载渲染。
解决方法 让camera动态渲染
根据showCamera
<block wx:if="{{showCamera}}">
<camera device-position="front" flash="off" binderror="error" >
<cover-view class='border_writh'></cover-view>
</camera>
</block>
当使用wx.Setting查看用户是判断用户是否有授权摄像头,如果没有就把showCamera设置false
wx.getSetting({
success(res) {
if (!res.authSetting['scope.camera']){
wx.showToast({
icon: 'loading',
title: '您拒绝了授权',
})
self.setData({
iosDialog1: true,
showCamera:false
})
}
}
})
当用户重新授权时,把showCamera设置true
wx.openSetting({
success (res) {
if(res.authSetting['scope.camera']){
self.setData({ showCamera:true})
}
}
}