目前我正在开发我的 android 应用程序。我的需求是这样的。
我需要运行一个 5 分钟的计时器,当超时发生时,我需要检查某些事情并采取某些行动。如果用户启动应用程序,这需要继续运行。
据我所知,我想这样进行
创建一个服务并在该服务中启动一个计时器,并在计时器到期时执行任何需要的操作。我将放置一个 Activity 来与服务交互,例如启动或停止。
我需要有关我的方法及其优缺点的建议。要运行计时器,我需要服务吗?如果我在 Activity 本身中运行重复计时器,并且如果我按下后退按钮,Activity 将进入后台,如果我在该 Activity 中启动了计时器,计时器是否也会停止?
如果我的问题不清楚,我很抱歉。我已经了解了 android 应用程序基础知识,然后想问这个问题。请给我一些想法。
最佳答案
不需要服务。您可以使用 Timer并安排一个TimerTask .如果任务需要接触 UI,那么您应该创建一个可以向其发布 Runnable 的处理程序。
附言您询问了如果您的 Activity 进入后台会发生什么。除非您在 onPause
或其他生命周期方法之一中取消任务或计时器本身,否则计时器将继续运行。无论你在哪一个做,你都应该在匹配的启动生命周期方法中启动定时器任务。如果您不打算取消 Timer 本身,则应将其创建为守护线程。
关于android - 需要我的 android 应用程序的设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6182621/