在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)
}
}
如果我尝试切换应用程序,窗口不安全
但是,如果我切换回来,窗口确实安全
在这两种情况下,切换到或从,窗口安全的Android 11,但不安全的Android 12。
2条答案
按热度按时间n53p2ov01#
截至Android版本12,这是所需的行为。此外,您可以检查Google问题跟踪器。
https://issuetracker.google.com/issues/237190495
我们可以使用onWindowFocusChanged(boolean)代替onPause和onResume。当Activity没有焦点时,我们可以启用FLAG_SECURE当应用重新获得焦点时,我们可以清除FLAG_SECURE
2hh7jdfx2#
在Activity上使用
View#onWindowFocusChanged(boolean)
的简单方法: