android:测验应用的计时器
我参与了为android开发一个测验应用程序。每一组问题都应在规定的时间内回答。这段时间可以使用android倒计时来测量 但是,当应用程序不再聚焦时,倒计时暂停。android:测验应用的计时器,android,background-process,countdown,Android,Background Process,Countdown,我参与了为android开发一个测验应用程序。每一组问题都应在规定的时间内回答。这段时间可以使用android倒计时来测量 但是,当应用程序不再聚焦时,倒计时暂停。 如果我想让计时器继续运行,即使应用程序已关闭,我该怎么办?(如果应用程序重新打开且计时器已过期,则应用程序应显示适当的消息) 您想使用AlarmManager创建报警。无论屏幕上有什么活动,它们都会运行,甚至在手机处于睡眠状态时也会运行。使用活动的生命周期 重写OnPause()方法(当活动失去焦点时调用) 停止计时 存储当前时
如果我想让计时器继续运行,即使应用程序已关闭,我该怎么办?(如果应用程序重新打开且计时器已过期,则应用程序应显示适当的消息) 您想使用AlarmManager创建报警。无论屏幕上有什么活动,它们都会运行,甚至在手机处于睡眠状态时也会运行。使用活动的生命周期 重写OnPause()方法(当活动失去焦点时调用)
- 停止计时
- 存储当前时间
- 计算经过的延迟
- 如果计时器已过期:显示消息
- 否则,用剩余的秒数重新启动倒计时
文档似乎建议使用处理程序:注意:Alarm Manager适用于希望在特定时间运行应用程序代码的情况,即使应用程序当前未运行。对于正常的计时操作(滴答声、超时等),使用处理程序更容易、更高效。为什么AlarmManager更好?谢谢。我想我先试试这个方法。。使用“Bundle”存储当前时间是不够的,因为当应用程序被终止时,Bundle也会丢失。我应该使用什么方法来存储当前时间?是的,必须使用OnPause()方法将捆绑包数据存储在特定文件或应用程序首选项中,然后读取OnResume()上的数据