gpt4 book ai didi

android - 当我的应用程序进入后台时,如何防止 Android 截屏?

转载 作者:IT老高 更新时间:2023-10-28 12:57:50 35 4
gpt4 key购买 nike

出于安全原因,我当前正在构建的应用程序要求应用程序必须阻止操作系统在应用程序被插入后台时截取该应用程序的屏幕截图。这样在应用之间切换时将无法看到最后一个 Activity 屏幕。

我打算将此功能放在应用程序类的 onPause 方法中,但首先我需要了解如何实现此功能。

那么有没有人知道如何解决这个问题?

最佳答案

试试 FLAG_SECURE :

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

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

setContentView(R.layout.main);
}
}

这绝对可以防止来自 ICS 最近任务历史记录的手动屏幕截图和自动屏幕截图。它还可以防止屏幕录制(例如,使用媒体投影 API 的应用程序)。

更新:它还可以防止 Android 6.0 上的 Now On Tap 或其他助手;如果用户启动助手,他们将无法访问 UI 中小部件和容器的详细信息。

更新 #2:但是,并非 Activity 中的所有内容都会受到保护。任何弹出窗口——DialogSpinnerAutoCompleteTextView、操作栏溢出等——都是不安全的。您可以通过调用 getWindow() 并设置 FLAG_SECURE 来修复 Dialog 问题。其余的......变得棘手。见 this blog post了解更多。

关于android - 当我的应用程序进入后台时,如何防止 Android 截屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822076/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com