2 hdpro hdpro 于 2014.03.25 22:30 提问

Android 进程被系统杀死之后,app应该如何正确的重新启动?

假设现在有三个Activity A,B,C。依此顺序打开,并对Activity A 调用finish()方法,然后按HOME键返回到桌面,然后如果系统在此时杀死了这三个Activity所在的进程,那么在再次点击该app的启动图标后,怎么样才能重新回到Activity A,重新开始启动,就和微信的方式类似,纠结了很久,请大神赐教!

3个回答

icantseeanything
icantseeanything   2014.03.26 09:54

没做过安卓,没用过微信。能监听HOME键事件,或在finish()之前将状态保存到文件或数据库吗?再次启动的时候先从文件或数据库恢复状态。

sunhangok
sunhangok   2014.03.26 11:08

你好,我也碰到过这样的问题。按照你描述的情景,再次启动时,会首先打开Activity C。但是你的需要是首先打开Activity A。

有一种方法,不知道是否可行?不要对Activity A进行finish(),而且要对Activity A设置属性singleTask。当Activity C被调用onCreate时,判断进程是否是重新启动的,如果是,则startActivity A。此时Task会把B、C都删除掉,Activity A会启动。

sylcc_
sylcc_ 设置启动模式应该可以解决。也可以换中思维方式:不一定需要三个Activity,说不定一个Activity中包含三个Fragment就可以满足要求了。
大约 4 年之前 回复
ZR__MaNong
ZR__MaNong   2014.12.26 09:57
m121657026
m121657026 404了
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!