我需要一个可以执行某些操作的命令,比如说每天早上7点。
可能吗?
如果你能给我一些代码样本,我将不胜感激
谢谢!
答案 0 :(得分:1)
是的,你需要AlarmManager类,你创建一个intent和一个日历对象(设置为你想要的时间),然后使用AlarmManager来运行当时的意图(使用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);
答案 1 :(得分:0)
问题是您的应用程序不会全天候运行。
但是,可以使用Java的Timer Class来实现您的任务。 See Documentation here