Android 常规任务(相当于 cronjob)

2022-09-03 00:25:42

上次(由其他用户)提出此问题时,答案的响应是:

如果这是在正在运行的活动中,则可以使用 Timer/TimerTask 和处理程序,也可以使用 postDelayed() 和 AsyncTask。

这里: 安卓重复性任务

我仍在学习如何对机器人进行编程。我已经掌握了我确实知道的技能,包括线程,并且我的代码遇到了许多问题。任何人都可以举个例子如何使用:time/timertask和处理程序或postDelayed()和AsyncTask。


答案 1

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

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

关于 AlarmManager 的完整文档 请点击此处。.


答案 2

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

一般的想法是覆盖 Service 类,并设置警报以激活服务。与守护进程和Windows服务不同,Android服务并不总是在运行 - 它们启动(通常在被警报激活时),执行工作,然后关闭。在某些情况下,您可能需要获取部分唤醒锁以保持服务运行,直到它完成任务 - 否则,Android可能会过早地终止您的服务。