清空(或填充)最近的应用列表

时间:2011-07-30 11:38:40

标签: java android locking homescreen

我开发了一个婴儿应用程序,我需要将所有按键和方法锁定在应用程序之外,以便能够将电话交给我的女儿。我使用“替换主屏幕”方法来捕获主页键,这很有效。所有其他硬键(电源按钮除外,但这不是问题,因为它不容易被按下)被锁定。但经常讨论的长按主页仍然是推出最近的应用程序,并提供了一条出路(当然女儿几乎立即发现)。

我已经看到市场上的其他应用程序(幼儿锁和更多)通过清空最近的应用程序列表(或用一个可以回到婴儿应用程序的图标填充它)解决这个问题,但我不知道如何完成这个。有人有解决方案吗?如何从我的应用中填写最近的应用?退出锁定应用程序后,幼儿锁甚至会重置最近的应用程序。

2 个答案:

答案 0 :(得分:0)

您可以在应用程序中创建一个不执行任何操作的活动,并使用设置了FLAG_ACTIVITY_NEW_TASK标志的intent启动它。 无论如何需要填写历史记录(我的Incredible有8个点)。要重新填充历史记录,请查看ActivityManager.RecentTaskInfo.getRecentTasks(int maxNum,int flags) See Documentation 您似乎需要持有GET_TASKS权限

最初解雇这些应用程序的意图存储为baseIntent,因此您应该能够自己存储它们(不要忘记其他内容),并重新启动它们以重新填充历史记录列表。

这是一个黑客,但它应该工作

编辑:稍微玩一下之后,看起来你需要有8种不同的活动才能使用这种方法,这是不现实的。

答案 1 :(得分:0)

您需要执行Mobius的帖子中描述的内容,还要在android清单文件中的虚拟活动元素上设置android:taskAffinity =“”。