小程序阻止录屏
安卓
- wx.setVisualEffectOnCapture
- 设置安卓端录屏时的表现(仅支持安卓)
- 注意!!!基础库 2.20.1 开始支持
if(/android/i.test(wx.getSystemInfoSync().system)){
if(wx.setVisualEffectOnCapture){
wx.setVisualEffectOnCapture({ visualEffect: 'hidden' })
}
}
IOS
- wx.onScreenRecordingStateChanged
- 支持监听ios端的录屏事件(仅支持IOS)
- 注意!!!基础库 2.24.0 开始支持
if(/ios/i.test(wx.getSystemInfoSync().system)){
if(wx.onScreenRecordingStateChanged){
wx.onScreenRecordingStateChanged(res => {
console.log(res.state)
// res.state的值有两种情况 start(开始录屏) | stop(结束录屏)
})
}
}
- 如果需要控制页面级的阻止录屏
- 使用 wx.getScreenRecordingState + wx.onScreenRecordingStateChanged
// 思路:
// 写一个宽高100%填充黑色的cover-view容器覆盖在最顶层,控制显示或者隐藏
// 进入页面时查询是否正在录屏,从而设置cover-view的初始值,阻止从其他页面录屏进入
// 每次进入页面都重新注册录屏监听事件,监听并更新cover-view容器显示隐藏
// 离开页面时销毁录屏监听事件
onLoad(){
if(/ios/i.test(wx.getSystemInfoSync().system)){
if(wx.getScreenRecordingState){
wx.getScreenRecordingState({
success: res => {
console.log(res.state)
// res.state的值有两种情况 on(正在录屏) | off(没有开始录屏)
}
})
}
if(wx.onScreenRecordingStateChanged){
wx.onScreenRecordingStateChanged(res => {
console.log(res.state)
// res.state的值有两种情况 start(开始录屏) | stop(结束录屏)
}
}
}
}
onUnload(){
if(wx.offScreenRecordingStateChanged){
// 取消录屏监听事件
wx.offScreenRecordingStateChanged()
}
}
文章来源地址https://www.toymoban.com/news/detail-509796.html
文章来源:https://www.toymoban.com/news/detail-509796.html
到了这里,关于微信小程序阻止录屏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!