是否可以在屏幕的某些部分上阻止屏幕捕获?

时间:2019-07-06 17:55:28

标签: java android security screen-capture

要禁用屏幕捕获,我们可以使用:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);

是否可以使用类似的方法隐藏视图?

例如:

  

[imageview]

     

[隐藏内容]

     

[文本视图]

1 个答案:

答案 0 :(得分:0)

不是真的。

系统提供的解决方案FLAG_SECURE是通过窗口而不是View来实现的。大多数视图仅在活动窗口中绘制。有些视图有条件地使用第二个窗口,例如Spinner的下拉菜单,但您也不控制这些窗口。

原则上,如果要阻止屏幕截图的视图是连续的,则可以设置自己的窗口,将视图放在该窗口中,并仅在该窗口上使用FLAG_SECURE。这可能很复杂,并可能导致其他类型的问题(例如,多窗口设备,可访问性)。