强制将活动添加到历史堆栈中

时间:2010-12-22 10:30:51

标签: android android-activity

我有一个活动,在我的清单中使用android:noHistory="true"声明,90%的时间,这是所需的功能。此特定活动不需要保存在应用程序的历史记录中,并且应用程序的UI流程在历史记录中非常复杂,需要在每次添加活动时通过调用finish()手动删除到堆栈。

问题是,此活动能够让用户发送电子邮件,这当然是通过创建具有ACTION_SEND属性的Intent来完成的。当用户按下此活动的“后退”按钮时,堆栈中显示的下一个按钮实际上是我活动下面的那个。在呈现ACTION_SEND意图之前,有什么方法可以强制Android在历史堆栈中添加我的活动吗?

1 个答案:

答案 0 :(得分:3)

我期待被证明是错误的,但我相信在创建活动时会更新历史堆栈。首先,我建议启动一个“代理”意图的相当hackish解决方案,该意图将被推送到堆栈,然后可以调用电子邮件意图并且足够聪明以在返回途中启动正确的意图。

如果我在笔记中找到了某些内容,我会更新我的答案。