防止应用程序显示在 android kitkat 4.4.2 上的最近应用程序列表中

Posted

技术标签:

【中文标题】防止应用程序显示在 android kitkat 4.4.2 上的最近应用程序列表中【英文标题】:Prevent an app to show on recent application list on android kitkat 4.4.2 【发布时间】:2014-01-17 11:17:56 【问题描述】:

我只是厌倦了 ios,最近改用 android。我有一台 Nexus 5 设备,而且我刚刚在我的设备中安装了我最喜欢的应用程序。

其中一款应用是 Line,它是来自 naver 的著名通信应用。我安装了它,并为它配置了密码以确保访问它的安全,所以尽管我没有人可以看到里面的“机密”对话。

问题是即使我在线启用了密码,如果有人按下“最近列表应用程序”按钮,他们可以完美地看到我上次对话的 Line 屏幕截图,所以任何人都可以看到我在 Line 中所做的事情.

我在 iPhone 上进行了相同的测试,......令人惊讶...... iOS 在启用密码屏幕后拍摄快照,所以任何人都看不到任何东西。似乎在 Android 中,快照是在启用密码屏幕之前拍摄的,因此任何人都可以看到最后一行屏幕的样子:)

所以,在阅读了这个论坛上的其他帖子后,我应该有几种方法来解决这个问题:

等待 LINE 的公司 NAVER 添加一个选项以阻止此应用显示在最近的应用列表中(在他们的清单中添加 android:excludeFromRecents="true")[不会很快] 在启用密码屏幕后等待 LINE 的公司 NAVER 强制快照 [可能很快,但不在公司的路线图中] 自行反编译 apk 并更改清单 - 或使用 FLAG_SECURE -(我尝试过,但当我启动新应用程序时,它在启动时突然死机,并显示“应用程序已停止”消息。我认为 LINE 的服务器在启动时验证客户端应用程序是预期的,比较大小或其他)

所以我不知道更多的方法来解决这个问题。你还有什么想法吗?我被卡住了。

非常感谢。

【问题讨论】:

【参考方案1】:

检测 LINE 何时离开前台 创建一个后台服务来检测 LINE 是否在前台以及何时离开前台。 (https://***.com/a/14044662/1683141)

当线路离开前景时,您应该采取行动: A. 完全停止生产线应用 或 B. 打开和“关闭”线路应用程序,使其在多任务缩略图中显示锁定状态

完成情况 B 的一种可能方法:

可选:检测用户现在打开了哪个应用并记住它

    等待几秒钟,在用户关闭 LINE 应用后再次打开它(例如通过意图) 现在 LINE 应用将显示锁定屏幕 现在让后台服务打开主屏幕(或对记住的活动进行意图) 现在 LINE 应用程序回到后台,它会有一个显示锁定屏幕的多任务缩略图。

当然,这会造成循环,这不是一个稳定的解决方案

-选项 A 是一种相对可靠的方法,并且(在我看来)是完成您想要的事情的好方法:没有人可以看到您的安全聊天。缺点是应用程序现在已从多任务处理中删除。 -选项 B 只是一个想法,但也许,如果以正确的方式完成,它可能会起作用。编辑: 选项 A 将不起作用。如果任务被终止,应用程序不会从多任务处理中删除。

【讨论】:

感谢 mdlc!我会尝试选项A。我还不习惯android服务开发,所以我认为测试需要一点时间,但一旦我得到结果,我会分享它们。谢谢! mdlc,我不确定选项 A 是否有效。恐怕即使应用程序已关闭或被杀死,最近的列表也会显示 Line。事实上,将 Line 保持在最近状态是有意义的,因为实际上它是,无论应用程序是否关闭。你确定选项 A 可行吗? 你可以通过下载一些任务管理器应用程序(或应用程序杀手等)来测试它是否有效,看看是否有一个应用程序会清空最近的应用程序列表。 已经过测试,杀掉应用程序并不会从最近的应用程序列表中清空它。所以它应该是选项 B 或反编译 LINE 应用程序以修改清单..(已经尝试过,但由于任何原因,当我尝试执行重新编译的 Line 版本时,应用程序在启动时突然停止)。 Mdlc,我终于成功反编译了LINE,在manifest文件中添加了一些配置。现在 LINE 不会在最近的列表中显示更多。谢谢!

以上是关于防止应用程序显示在 android kitkat 4.4.2 上的最近应用程序列表中的主要内容,如果未能解决你的问题,请参考以下文章

隐藏滚动条 Android KitKat 4.4

Android 4.4 Kitkat Phone工作流程浅析__InCallActivity显示更新流程

无法在 Android 4.4 KitKat 上快速关闭 ChunkedInputStream

Android 4.4 KitKat 随机崩溃

Android Kitkat 4.4版本状态栏下使用导航抽屉时状态栏颜色显示为白色不透明

Android 5.0 材料设计风格的 KitKat 导航抽屉