java - 防止 Android 在多任务 View 中显示敏感信息

标签 java android

当我的应用程序进入后台时,我需要隐藏它的内容,这样敏感信息就不会显示在 android 多任务 View 上。

建议使用下面一行来隐藏屏幕

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

它工作正常。

但是,这也阻止了用户截取屏幕截图,这对我来说不是预期的行为。如果需要,我想让用户截取应用程序的屏幕截图。我不希望 Android 在多任务 View 中显示最新的屏幕。

是否可以仅在应用进入后台时设置 FLAG_SECURE?

最佳答案

我们最终得到了最适合我们的解决方案:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    if (!hasFocus) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
    } else {
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
    }
}

关于java - 防止 Android 在多任务 View 中显示敏感信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51496804/

相关文章:

java - 如何使用java上的move方法将文件从Alfresco Server的一个绝对路径移动到另一个目标路径

c# - 无法使用 Gson 反序列化 byte[]

Java NIO isConnectable 始终返回 true

java - 与主机 server.com/Db_name、端口 1433 的 TCP/IP 连接失败

java - Java 项目中的 Kotlin, Unresolved 引用

java - 如何创建一个带有接收器的警报管理器以在特定时间将手机置于静音状态?

java - 我在运行前初始化 TextView,因为 View 尚未设置

android - 锁屏不禁用指纹

android - Android Studio将文件下载到的目录位于什么目录?

Android Studio - 无法在没有类属性的情况下膨胀 View 标签