似乎当前从Android L中排除最近应用程序列表中的应用程序的方法已被破坏。我们的应用程序使用android:excludeFromRecents,它的工作正常。除非我们的应用程序是设备重新启动时启动的第一个应用程序。
这就是当我们的应用程序作为设备上的第一个应用程序退出时的外观:
以下是我们首次启动相机(或任何其他应用程序),然后我们的应用程序并退出两者:
简单地说:如果一个带有android:excludeFromRecents的应用程序作为设备上的第一个应用程序启动,那么指令android:excludeFromRecents就不起作用了。如果在android:excludeFromRecents-app之前启动了另一个应用程序,它将按预期工作。
这是一个非常奇怪的边缘案例错误还是我错过了一些非常明显的东西?
我们构建了一个非常隐私谨慎的网络浏览器(http://inbrowserapp.com),因此一旦应用关闭,我们就无法显示应用中显示的任何屏幕截图。但这也应该影响银行应用程序,密码管理器等,因为如果应用程序是重启后第一个启动的应用程序,敏感信息将被截屏。
当用户退出Android L时,也许我们可以使用空白视图来查看路径并隐藏敏感信息。但是这里的某些东西似乎有些错误?
答案 0 :(得分:3)
我很高兴地说这是针对Android 5.1修复的。刚刚在运行5.1的设备上确认了它。
因此,对我们来说,正确的解决方案是使用getWindow()拒绝屏幕截图.addFlags(WindowManager.LayoutParams.FLAG_SECURE);对于带有SDK版本21的Lollipop,任何低于或高于此值的内容都应该没问题。
答案 1 :(得分:1)
您可以通过设置此标记至少阻止最近的屏幕截图: 。getWindow()addFlags(WindowManager.LayoutParams.FLAG_SECURE);
但它仍然是一个永远不应该让它发布的错误..