我正在开发一个使用其他第三方应用程序的跟踪应用程序,例如谷歌地图。
让我们假设我的应用程序有4个活动(act1,act2,act3和act4)。
关于act3活动我正在调用谷歌地图应用程序来计算距离并查看路由。但是,一旦我点击了平板电脑的后退按钮,或者回到主页并点击了启动的图标,就会显示act1而不是act3。
但是,我的应用程序仍然在后台运行。
所以我的问题在这里如何使应用程序打开最后一个活动,在我们的例子中,当按下后退按钮或点击启动的图标时,它是act3。
谢谢,
答案 0 :(得分:0)
在act3的onPouse / onStop回调期间,将应用状态即... activity in our case
保存在共享首选项中。
从共享偏好设置中检索应用状态,并在onCreate callback
的{{1}}中进行导航。
答案 1 :(得分:0)
将正在运行的活动的名称存储到每个活动的onPause中的共享首选项(如果您通过按主页按钮退出)或onBackPressed(如果通过按返回按钮退出活动)。
然后创建一个启动器活动,该活动读取共享首选项并启动特定活动。
最后从活动堆栈中删除启动器活动,以便应用程序在按下后退按钮时不会返回它。