从其他应用程序启动Activity的问题

时间:2011-04-13 15:26:13

标签: android launchmode

我遇到了一个问题,希望你能提出一些建议。

问题在于:

我的应用程序中有一个A活动,它是应用程序的MAIN活动,可以从其他应用程序(如SMS)启动。现在考虑我的应用程序任务中有A-B-C-D个活动,正如我之前所说,用户可以从短信启动A活动,当从短信启动A时,我想要B C D所有要完成的,任务中A活动的实例将被带到前面。

我尝试将A活动的launchMode设置为singleTask,这样就可以解决问题,但还有另一个问题:例如,我的A-B-C-D活动应用程序的任务,用户按HOME键进入主屏幕,从启动器重新启动应用程序,然后显示A活动,而不是D活动。这就像应用程序从一开始就已经开始,这不是我想要的。

有什么方法可以做到这一点吗?任何建议将受到高度赞赏。提前谢谢!

1 个答案:

答案 0 :(得分:1)

没试过,但你可以试试这个:

  1. 将活动属性alwaysRetainTaskState设置为true。 这应该注意保留堆栈中的所有活动。
  2. 当您希望显示根活动时(在您的情况下:从SMS启动时 - 我假设您使用启动活动从SMS接收器调用活动),在传递给startActivity的intent中设置{{3标志。 这应该清除,因为你在意图中明确提到它。