即使用户没有使用我的应用程序也更新文本视图

问题描述 投票:0回答:2

我基本上想创建一个计时器。我有一个文本视图,我需要在其中显示一个计时器,例如“在 2 分 29 秒内更新您的位置”,并且我希望计时器递减,例如 2 分 28 秒,然后是 2 分 27 秒。

即使用户没有使用我的应用程序,我也想更新它(我不希望它真正更新,我的意思是,当用户在 1 分钟后打开我的应用程序时,计时器应该显示 1 分 27 秒) .

有人可以帮我指出正确且有效的方法吗?谢谢:)

android timer textview
2个回答
2
投票

我认为最有效的方法是使用 scheduleAtFixedRate 当您的活动处于前台并且当它进入后台时您不需要任何服务,您可以将当前时间和剩余时间保存在共享首选项中,当您再次使用时活动来到前台读取这些值加上当前时间,然后以正确的方式更新

textview


1
投票

您可以使用服务并使用 LocalBroadcastManager 发送您的 Activity 接收到的意图(带有 TextView 的意图)。您应该在 Activity.onResume() 中注册一个 BroadcastReceiver,并在 onPause() 中注销它。

使用 TimerTask 应该是默认方法,但您必须注意,如果您的 Activity 被发送到后台,它可能会被系统杀死。这就是为什么我建议使用服务。

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.