如何更改最近的应用列表显示的快照?

时间:2012-02-03 14:54:07

标签: java android security

在较新版本的Android(> 3.0)中,有一个屏幕按钮 将显示最近的应用程序列表及其名称和快照。 即使我的应用程序本身受密码保护,此概述也可能 显示该快照中的敏感数据。有没有办法强迫一个 某些图像(如徽标)要显示而不是让操作系统决定?

2 个答案:

答案 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();之前

否则,如果用户浏览了该快照,则最近列表中的快照将显示没有该标志的第一个活动。