防止在android中截取屏幕截图

时间:2015-11-17 10:43:20

标签: android screenshot android-screen-support

我使用以下链接来阻止屏幕截图,但这将花费更多时间来防止在执行代码后截取屏幕截图,这将阻止截屏。

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

2 个答案:

答案 0 :(得分:0)

此代码旨在将Activity(或更确切地说,一个窗口)标记为“安全”而不是手机。它只会阻止设置此标志的Activity截取屏幕截图。

要保护Activity,请在OnCreate中调用此代码。当Activity未显示时,这不会停止截屏。

示例:

@Override
protected void onCreate(Bundle b) {
    super.onCreate(b);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

}

我自己没有尝试过,所以不知道是否可能,但你可以在当前具有SECURE标志设置的Activity上绘制一个不可见的窗口。也许这会阻止我认为你问的整个手机的截图。

答案 1 :(得分:0)

只需添加以下行:

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

在setContentView()方法之前。