gpt4 book ai didi

android - 无法使用 WindowManager.LayoutParams.FLAG_SECURE 在 Android 12 上保护窗口

转载 作者:行者123 更新时间:2023-12-03 08:06:46 25 4
gpt4 key购买 nike

在 Android 12 上,如果我使用 WindowManager.LayoutParams.FLAG_SECURE 创建一个简单的应用

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.setFlags(
WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE
)
setContentView(R.layout.activity_main)
}
}

如果我尝试切换应用程序,窗口将不安全

enter image description here

但是,如果我切换回来,窗口就会安全

enter image description here

在这两种情况下,切换到或退出时,窗口在 Android 11 上都是安全的,但在 Android 12 上则不然。知道为什么吗?

最佳答案

在 Activity 上使用 View#onWindowFocusChanged(boolean) 的简单方法:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
// allow screenshots when activity is focused
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
} else {
// hide information (blank view) on app switcher
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
}
}

关于android - 无法使用 WindowManager.LayoutParams.FLAG_SECURE 在 Android 12 上保护窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72120552/

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