假设我有一个活动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>
答案 0 :(得分:1)
这里的一个策略可能是保存SharedPreference,标记何时你想直接进入B. This Android doc讨论使用SharedPreferences,以及一些代码示例。
基本上,当您想直接返回B时,您会创建一个共享首选项来指示这一点。然后,当A重新启动时(例如,因为它被操作系统杀死,如问题评论中所述),而不是立即设置相关视图等,首先检查标志。如果标志打开,你就开始B.这里有一些混乱,但我认为它可能会以非常干净的方式处理。
答案 1 :(得分:1)
也许我有一个解决方案。
如何使用透明活动作为启动器?
当B暂停或停止时,记住它(在文件,数据库等中)在启动器活动中,类似于欢迎屏幕,但具有透明视图,读取记录,并开始记录的活动。
另一种解决方案,但不确定它是否有效。
使用启动器过滤器编写广播接收器,然后启动录制的活动。