【问题标题】:How to block taking screenshot for android app如何阻止为Android应用截屏
【发布时间】:2021-02-05 08:50:19
【问题描述】:

我正在开发一个 Android 应用程序,我的要求是禁用整个应用程序的屏幕截图功能

MainActivity.java

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
                WindowManager.LayoutParams.FLAG_SECURE);
    }

我已经使用上面的代码来阻止屏幕截图,部分它工作正常。由于我的代码包含 WebView 以在应用程序上显示 epub3(HTML + CSS + JS) 内容,因此它并没有专门限制该内容,它允许为该内容截取屏幕截图

请帮忙 提前谢谢你。

【问题讨论】:

  • 你如何显示WebView?它是否在您添加FLAG_SECURE 的同一窗口中?
  • 嗨,@CommonsWare 不,为此我们正在使用不同的活动

标签: android android-webview screenshot epub3


【解决方案1】:

在 onCreate() 下方添加每个活动

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

【讨论】:

    【解决方案2】:

    为此,我们使用不同的活动

    然后您还需要将FLAG_SECURE 添加到该活动的窗口,以及您希望保护的任何其他活动。 FLAG_SECURE 在每个窗口的基础上工作,每个活动都有自己的窗口。

    【讨论】:

    • 这样,我们有多少活动我们必须设置那么多 FLAG_SECURE ??
    • @PiyushJiwane:是的。每个活动都需要使用您问题中的代码 sn-p 为该活动的窗口设置 FLAG_SECURE
    猜你喜欢
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2012-03-01
    相关资源
    最近更新 更多