如何在Android中按返回键时保持活动状态不变?

4

我是Android的新手。根据Android开发者文档,将一个活动的启动模式设置为singleTop,它将保持该活动不变。但对我来说这并没有起作用。我有一个活动,在其中有一个倒计时器,我想要的是当我按下返回键离开该活动并返回到该活动时,该倒计时器仍然应该在运行。如何做到呢?请帮忙。


2
创建一个服务,应该不断更新用户界面。 - Sahil Mahajan Mj
1
当您的应用程序结束时,您可以停止服务。 - Sahil Mahajan Mj
@SahilMahajanMj Application类在应用程序结束时不会调用terminate函数,因此很难确定应用程序是否已经停止。 - Chris.Jenkins
你把BACK和HOME搞混了。在Android中,BACK的意思是你想离开当前的活动(即:关闭它),并且你不想再回到它。而HOME的意思是你想暂时停留在当前的活动,切换到另一个活动,然后可能稍后再返回你的活动。如果用户按BACK键,他想关闭你的活动。 - David Wasser
@DavidWasser- 非常感谢您告诉我这个。我希望用户可以进入任何其他活动,如果他返回到相同的活动,计时器仍然应该在运行。 - user1924779
显示剩余12条评论
2个回答

0

我认为你有点误解了。

singleTop 模式下启动一个 Activity 并不意味着该 Activity 是“完整的”,而是如果目标任务栈已经存在该 Activity 的实例,那么该实例将接收新的 Intent 而不会创建新的实例。(这与在 standard 模式下启动 Activity 的方式相反,在该模式下,每次有新的 Intent 到来时都会创建该类的一个新实例以响应该 Intent。)

正如其他人所建议的那样,您可以绑定到一个服务并从那里更新倒计时时间。


0
创建一个服务将始终保持计时器运行,而我希望它仅在应用程序存活时才保持运行,这意味着您希望从用户离开的地方继续计时器。
onStop()中将计时器值存储在SharedPreferences中,然后在onRestart()中检索相同的值,最后继续更新。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接