Android - 如何在单击启动图标或单击后退按钮时恢复上一个活动

时间:2017-06-02 12:10:17

标签: java android android-fragments android-activity background-process

我正在开发一个使用其他第三方应用程序的跟踪应用程序,例如谷歌地图。

让我们假设我的应用程序有4个活动(act1,act2,act3和act4)。

关于act3活动我正在调用谷歌地图应用程序来计算距离并查看路由。但是,一旦我点击了平板电脑的后退按钮,或者回到主页并点击了启动的图标,就会显示act1而不是act3。

但是,我的应用程序仍然在后台运行。

所以我的问题在这里如何使应用程序打开最后一个活动,在我们的例子中,当按下后退按钮或点击启动的图标时,它是act3。

谢谢,

2 个答案:

答案 0 :(得分:0)

在act3的onPouse / onStop回调期间,将应用状态即... activity in our case保存在共享首选项中。

从共享偏好设置中检索应用状态,并在onCreate callback的{​​{1}}中进行导航。

答案 1 :(得分:0)

将正在运行的活动的名称存储到每个活动的onPause中的共享首选项(如果您通过按主页按钮退出)或onBackPressed(如果通过按返回按钮退出活动)。

然后创建一个启动器活动,该活动读取共享首选项并启动特定活动。

最后从活动堆栈中删除启动器活动,以便应用程序在按下后退按钮时不会返回它。