监听系统截屏操作的复杂管道
这是一个很复杂的 Pipeline,因为要做的业务比较繁琐,如下图:
需求大致可以描述为:
- 当 app 停留在读信页面的时候,要实时的监听用户是否有截屏操作。
- 在 1 的基础上,只有 app 前台运行的时候,才实时监听用户是否有截屏操作,如果是后台状态,则不监听。
- 如果用户有截图动作,则将截图内容显示在一个预览视图内(如上图中红框区域)。
- 如果用户点击了预览视图,则进入后续的业务流程,对截图进行涂鸦编辑等等。
- 如果点击了预览视图的外部区域,则隐藏预览视图。
- 如果 10 秒钟之内没有任何操作,也自动隐藏预览视图。