Android常规任务(相当于cronjob)

时间:2011-03-10 22:52:45

标签: java android timer cron

最后一次询问此问题(由不同的用户),答案回答是:

  

如果这是在一个正在运行的活动中,你可以使用Timer / TimerTask和一个Handler,或者你可以使用postDelayed()和AsyncTask。

此处:Android Repetitive Task

我还在学习如何编程android。我已经完成了我所知道的技能,包括线程,并且我的代码存在很多问题。任何人都可以举例说明如何使用:time / timertask和handler OR postDelayed()和AsyncTask。

提前致谢:)

5 个答案:

答案 0 :(得分:22)

对于类似Cron的任务,你必须使用AlarmManager,这是一个系统服务,在你需要调用的代码中使用它:

AlarmManager myAlarmManager = Context.getSystemService(Context.ALARM_SERVICE).

有关AlarmManager here.

的完整文档

答案 1 :(得分:5)

最合适的方法是通过服务。我通过查看Android附带的股票电子邮件应用程序的源代码了解了如何编写服务。

一般的想法是,您覆盖Service课程,并设置alarms以激活您的服务。与守护进程和Windows服务不同,Android服务并不总是在运行 - 它们启动(通常由警报激活),执行工作,然后关闭。在某些情况下,您可能需要获取partial wake lock才能使服务继续运行,直到完成任务为止 - 否则,Android可能会过早地终止您的服务。

答案 2 :(得分:4)

如果你想建立一个cronjob跑步者,你想要的是Service

  

服务是一种应用程序组件,可以在后台执行长时间运行的操作,但不提供用户界面。另一个应用程序组件可以启动服务,即使用户切换到另一个应用程序,它也将继续在后台运行。此外,组件可以绑定到服务以与其交互,甚至可以执行进程间通信(IPC)。例如,服务可以从后台处理网络事务,播放音乐,执行文件I / O或与内容提供商交互。

答案 3 :(得分:4)

答案 4 :(得分:-1)