要禁用屏幕捕获,我们可以使用:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);
是否可以使用类似的方法隐藏视图?
例如:
[imageview]
[隐藏内容]
[文本视图]
答案 0 :(得分:0)
不是真的。
系统提供的解决方案FLAG_SECURE
是通过窗口而不是View
来实现的。大多数视图仅在活动窗口中绘制。有些视图有条件地使用第二个窗口,例如Spinner
的下拉菜单,但您也不控制这些窗口。
原则上,如果要阻止屏幕截图的视图是连续的,则可以设置自己的窗口,将视图放在该窗口中,并仅在该窗口上使用FLAG_SECURE
。这可能很复杂,并可能导致其他类型的问题(例如,多窗口设备,可访问性)。