onUserCaptureScreen 无法取消监听
发布于 6 年前 作者 jiexia 9389 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

我在index.js里面调用 wx.onUserCaptureScreen(function callback) 监听用户截图操作,当用户截图时弹出提示,可是当我切换到别的页面的截图的时候,依然会有提示。

onUserCaptureScreen  这个api监控的是小程序所有的页面吗?有没有取消监听的api呢?

  • 预期表现

提供一个取消监听截图的api,或者切换页面之后监听操作失效

2 回复
wx.onUserCaptureScreen(res => {
      let pages = getCurrentPages()
      if (pages[pages.length - 1].route !== 'pages/index/index'){
        return
      }
      console.log('用户截屏了')
      wx.showModal({
        content: '截屏了',
        showCancel: false
      })
    })

加上了这个判断, pages/index/index 这个改成需要监听截屏的页面即可

是针对所有页面,或者可以理解成这一个“app”级别的事件。

offUserCaptureScreen 我们会在 v2.6.4 的基础库中提供。

目前可以考虑自行处理一下,比如记录当前页面的 path,如果是不希望执行截屏之后逻辑的页面,就不要执行对应的逻辑。

回到顶部