如何在一定时间内完成任务?

时间:2012-01-29 12:54:06

标签: java android scheduled-tasks


我需要一个可以执行某些操作的命令,比如说每天早上7点。
可能吗?
如果你能给我一些代码样本,我将不胜感激
谢谢!

2 个答案:

答案 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