我使用下面的链接来防止截屏,但这将花费更多的时间来防止在执行代码后截取屏幕截图,这将阻止截屏。
How do I prevent Android taking a screenshot when my app goes to the background?
码:
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
}
电话:galaxy s6 Os:5.1.1
此代码旨在将Activity
(或更确切地说,窗口)标记为“安全”而不是电话。它只会阻止已设置此标志的Activity
截取屏幕截图。
要保护Activity
,请在OnCreate
中调用此代码。当没有显示Activity
时,这不会停止截图。
例:
@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
我自己没有尝试过,所以不知道是否可能,但你可以在当前具有SECURE标志设置的Activity上绘制一个不可见的窗口。也许这会阻止整个手机的截图,我认为这就是你所要求的。
只需添加以下行:
getWindow().setFlags(LayoutParams.FLAG_SECURE,LayoutParams.FLAG_SECURE);
在你的setContentView()方法之前。