我需要运行一项任务,每小时收集一些数据。我想最好的方法就是使用AlarmManager。我设法让以下代码工作,并且它每10秒运行一次。
AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int interval = 10000;
Intent alarmIntent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
Toast.makeText(this, "Alarm Set", Toast.LENGTH_SHORT).show();
但我希望我的任务每小时运行4次。正好在XX.00,XX.15,XX.30,XX.45。这是为了生成一些数据图。
有人可以告诉我如何存档吗?我应该使用Calendar类吗?我找不到任何明确的方法。
谢谢!
答案 0 :(得分:0)
试试这个: put interval = 15 * 60 * 1000而不是System.currentTimeMillis()把XX:00的毫秒。如果你想从用户这一次那么你可以使用TimePicker对话框来这样做。