【发布时间】:2010-09-21 17:21:15
【问题描述】:
我猜 Android 不会让人们这样做,因为他们认为他们可以完美地处理任务/应用程序。但是,我确实需要这样做。
我有一个活动 A 作为我的应用程序的入口点。在那个活动中,它读取偏好并决定开始哪个活动,比如 B 或 C。之后,它会自行完成。因此,活动 A 永远不会出现在用户面前。
我的应用程序将内容存储在 sdcard 上,并不断从中读取。因此,当卸载 sdcard 时,我需要向用户显示 sdcard 不可用的消息,而不是打开 B 或 C。我在 A 中设置了一个检查以在 sdcard 不可用时显示该消息。当显示该消息时,A 不会尝试启动 B 或 C。
如果用户只从应用程序启动器输入我的应用程序,一切都会完美运行。但是,我发现用户也可以通过长按主页进入我的应用程序,然后从最近的应用程序列表中选择它,如果他最近打开过它。当用户这样做时,它会跳过 A 并直接转到 B 或 C。我没有检查它们,所以当我尝试访问 sdcard 时抛出异常,并弹出强制关闭对话框。
我可以简单地将支票移至 B 和 C 来解决这个问题。但未来,从A开始的活动数量会增加。如果有 6 个,我需要把这张支票复制到 6 个地方。不用说,这看起来很丑,而且是维护的噩梦。
因此,最好的解决方法应该是在卸载 sdcard 时从最近的应用程序列表中删除我的应用程序。但是,我找不到如何做到这一点。即使杀死进程或使用 ActivityManager.restartPackage,它仍然出现在列表中。谁能告诉我如何从列表中删除它?
【问题讨论】:
-
I really need to do this in my case那你的设计错了 -
这个答案stackoverflow.com/a/6468975/9909365 对我不起作用@user412759 你尝试过任何额外的解决方案吗
标签: android