gpt4 book ai didi

java - 如何在Android中正确实现定时器?

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:35 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的应用程序来跟踪工作时间。MainActivity 具有一个代表计时器的 TextView 和四个按钮,用于启动、暂停、恢复和停止。

到目前为止,我有两个用于建模计时器的类,TimerCountdown 和 TimerCountup(用于超时),它们使用 android.os.CountDownTimer; 启动计时器,更新 TextView 并触发系统通知以在完成后通知用户。 TimerCountdown 每秒更新 tView,8 小时后,它将向用户发送通知,并启动 TimerCountup 来跟踪另外 2 小时的加类情况。

如果应用程序在后台运行,确保这些计时器继续运行的正确方法是什么?我是否必须将两个 Timer 类包装到一个 Service 中?如果是这样,我该怎么做,因为它们持有对上下文的引用,这显然是不允许的?不幸的是,android.os.CountDownTimer; 的文档没有提到应用程序进入后台时它的行为方式。为了在应用程序被销毁后恢复进度,我最终可能会使用序列化对象,我只是不确定如何正确处理后台 Activity 。

此外,确保计时器达到 0 后触发通知(例如振动)的最佳方法是什么?届时该应用程序可能会处于后台,或者被销毁。

最佳答案

如果我理解正确,你需要一个在后台工作的计时器,为此你应该扩展服务类。有一个与你的问题类似的答案。你可以查看 Android count down timer in background

关于java - 如何在Android中正确实现定时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42188574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com