在较新版本的Android(> 3.0)中,有一个屏幕按钮 将显示最近的应用程序列表及其名称和快照。 即使我的应用程序本身受密码保护,此概述也可能 显示该快照中的敏感数据。有没有办法强迫一个 某些图像(如徽标)要显示而不是让操作系统决定?
答案 0 :(得分:21)
现在似乎不可能。有一种名为onCreateThumbnail
的方法,但我认为系统当前没有使用它,因为它没有被调用。我看到两种可能的解决方案:
1.通过向您的窗口添加FLAG_SECURE
来禁用包含敏感数据的活动的缩略图:getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
2.要从最近的应用中排除您的活动,请为AndroidManifest.xml中的活动将android:excludeFromRecents
属性设置为true
答案 1 :(得分:2)
Azat提供的解决方案在Lollipop中仍然有效。
请注意,如果您想继续不在整个应用的最近列表中查看快照,所有已执行的活动应该在onCreate()
方法中指定标记getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
在setContentView();
之前
否则,如果用户浏览了该快照,则最近列表中的快照将显示没有该标志的第一个活动。