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



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

现在看来这是不可能的。有一个名为onCreateThumbnail的方法,但我想系统目前没有使用它,因为它没有被调用。我看到了两种可能的解决方案:

1.通过将FLAG_SECURE添加到窗口来禁用包含敏感数据的活动的缩略图:getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
2.要从最近的应用程序中排除您的活动,请将AndroidManifest.xml 中的活动的android:excludeFromRecents属性设置为true

Azat提供的解决方案在棒棒糖中仍然有效。

请注意,如果您想继续而不是查看整个应用程序的最近列表中的快照,ALL所实现的活动应在onCreate()方法中指定标志getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);setContentView(); 之前

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

除了使用HardwareKeyWatcher标志外,还有一种方法可以归档此要求,但由于设备配置和自定义ROM碎片化,它无法覆盖所有情况,因此我们必须使用其他方法来完成缺失的情况。

为了简化实现方式,我们为Recent Apps构建了一个lib缩略图隐藏机制,该机制支持实现自定义布局,以便在应用程序进入Recents screen时显示带有应用程序徽标的空屏幕。

最新更新