想要在我的应用程序按Launcher Icon后返回上一个Activity

时间:2012-03-14 17:20:30

标签: android android-activity launcher

假设我有一个活动A,它启动活动B并自行杀死。现在我按下主页按钮(或以其他方式离开应用程序)(导致活动B的onPause-> onStop)并再次单击启动器中的应用程序图标。发生的事情是活动A再次启动(当然因为我在清单XML中指定了intent-filter)。有没有一种简单的方法可以在不启动活动A的情况下回到活动B?当我重新打开应用程序时,我基本上想要在活动B中访问onStart-> onResume。

我的意图过滤器如下所示:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

2 个答案:

答案 0 :(得分:1)

这里的一个策略可能是保存SharedPreference,标记何时你想直接进入B. This Android doc讨论使用SharedPreferences,以及一些代码示例。

基本上,当您想直接返回B时,您会创建一个共享首选项来指示这一点。然后,当A重新启动时(例如,因为它被操作系统杀死,如问题评论中所述),而不是立即设置相关视图等,首先检查标志。如果标志打开,你就开始B.这里有一些混乱,但我认为它可能会以非常干净的方式处理。

答案 1 :(得分:1)

也许我有一个解决方案。
如何使用透明活动作为启动器?

当B暂停或停止时,记住它(在文件,数据库等中)在启动器活动中,类似于欢迎屏幕,但具有透明视图,读取记录,并开始记录的活动。

另一种解决方案,但不确定它是否有效。

使用启动器过滤器编写广播接收器,然后启动录制的活动。