2

是否有模糊或添加过滤器到用户在我的应用程序中捕获的屏幕截图?我知道我们可以完全阻止用户捕获屏幕截图,但我只想模糊它。

4

1 回答 1

3

我知道我们可以完全阻止用户捕获屏幕截图,但我只想模糊它。

AFAIK,捕获屏幕截图时不会触发广播。因此,我不确定是否存在您可以检测到已捕获屏幕截图然后应用过滤器的可能性,例如将其模糊掉。

来源:http: //developer.android.com/reference/android/content/Intent.html#constants

由于应用无法检测到屏幕截图,因此最好的办法是完全阻止该功能(仅在您的应用中)。CommonsWare在他的博客上提供了一种阻止屏幕截图在您的应用程序中被捕获的方法。您将在此处找到详细信息:http: //commonsware.com/blog/2012/01/16/secure-against-screenshots.html

该博客的摘录:

为此,请使用FLAG_SECURE

public class FlagSecureTestActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

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

    setContentView(R.layout.main);
  }
}

通常,当用户截取屏幕截图时,会发出通知以指示成功并提供对图库应用中屏幕截图的访问权限。使用 FLAG_SECURE 后,通知将是“无法捕获屏幕截图”。

于 2013-07-26T05:15:25.680 回答