【发布时间】:2012-02-21 14:57:03
【问题描述】:
我需要一个可以执行某些操作的命令,比如说每天早上 7:00。
可能吗?
如果您能给我一些代码示例,我将不胜感激
谢谢!
【问题讨论】:
-
“请提供代码”问题不是一个好主意...
标签: java android scheduled-tasks
我需要一个可以执行某些操作的命令,比如说每天早上 7:00。
可能吗?
如果您能给我一些代码示例,我将不胜感激
谢谢!
【问题讨论】:
标签: java android scheduled-tasks
是的,你需要AlarmManager类,你创建一个intent和一个日历对象(设置为你想要的时间),然后使用AlarmManager在那个时候运行intent(使用setRepeating让它每天重复)
Intent intent = new Intent(getBaseContext(),
some_service.class);
PendingIntent pendingIntent = PendingIntent
.getService(getBaseContext(), 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
// Cancel all previous alarms of the same type
alarmManager.cancel(pendingIntent);
Calendar calendar = Calendar.getInstance();
Calendar currentDate = Calendar.getInstance();
calendar.add(Calendar.HOUR, 24);
calendar.set(Calendar.HOUR_OF_DAY, 07);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);
// Set alarm manager to run at selected time
// each day
alarmManager.setRepeating(AlarmManager.RTC,
calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pendingIntent);
【讨论】:
问题是您的应用程序不会 24/7 全天候运行。
但如果是这样,您可以使用 Java 的 Timer 类来实现您的任务。 See Documentation here.
【讨论】: