我想Android不会让人们这样做,因为他们认为他们对任务/应用程序有完美的处理能力。不过,我真的需要在我的情况下这样做。如何从最近的应用程序列表中删除应用程序?
我有一个活动A充当我的应用程序的入口点。在该活动中,它读取首选项并决定开始哪个活动,比如说B或C.之后,它自行完成。所以,活动A永远不会显示给用户。
我的应用程序将东西存储在SD卡上,并不断读取它。所以,当SD卡卸载时,我需要向用户显示一条消息,表明sdcard不可用,而不是打开B或C.我在A中设置了一个检查,以便在sdcard不可用时显示该消息。当显示该消息时,不会尝试启动B或C.
东西完美地工作,如果用户只输入从应用程序启动我的应用程序。但是,我发现用户也可以通过长时间按住家来进入我的应用程序,并从最近的应用程序列表中选择它,如果他最近打开了它。当用户这样做时,它跳过A并直接进入B或C.我没有在它们两个中的检查,所以当我尝试访问SD卡时抛出异常,并强制关闭对话框弹出。
我可以简单地将我的支票移到B和C上来解决这个问题。但未来,从A开始的活动数量将会增加。如果有6个,我需要把这张支票复制到6个地方。不用说,这看起来非常丑陋,而且是一个维护噩梦。
所以,最好的解决应该从最近的应用程序列表中,当SD卡被删除uunmounted我的应用程序。但是,我无法找到如何做到这一点。即使杀死进程或使用ActivityManager.restartPackage,它仍然会出现在列表中。任何人都可以告诉我如何从列表中删除它?
'我真的需要在我的情况下这样做'然后你的设计是错误的 – Falmarri 2010-09-21 22:19:36