java是否可以阻止屏幕某些部分的屏幕捕获?
要禁用屏幕捕获,我们可以使用:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);
是否可以使用类似于隐藏视图的功能
例如:
[imageview]
[hidden content]
[text view]
你可以在下面搜索框中键入要查询的问题!
要禁用屏幕捕获,我们可以使用:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);
是否可以使用类似于隐藏视图的功能
例如:
[imageview]
[hidden content]
[text view]
# 1 楼答案
不是真的
系统提供的解决方案
FLAG_SECURE
是按窗口提供的,而不是按View
。大多数视图仅在活动的窗口中绘制。某些视图有条件地使用第二个窗口,例如Spinner
的下拉菜单,但您也不控制这些窗口原则上,如果要阻止屏幕截图的视图是连续的,则可以设置自己的窗口,将视图放在该窗口中,并仅在该窗口上使用
FLAG_SECURE
。这可能很复杂,并可能导致其他类型的问题(例如,多窗口设备、可访问性)