1

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

这是问题所在:

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

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

有什么办法可以做到这一点吗?任何建议将不胜感激。提前致谢!

4

1 回答 1

1

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

  1. 将活动属性alwaysRetainTaskState设置为 true。这应该注意保留堆栈中的所有活动。
  2. 当您希望显示根活动时(在您的情况下:从 SMS 启动时 - 我假设您正在使用启动活动从 SMS 接收器调用活动),在您传递给 startActivity 的意图中设置FLAG_ACTIVITY_CLEAR_TOP标志。这应该清除,因为您在 Intent 中明确提及它。
于 2011-04-13T15:56:56.100 回答