我已编写以下AlarmManager
来启动Service
,它将按指定的时间间隔下载文件:
Calendar updateTime = Calendar.getInstance();
updateTime.setTimeZone(TimeZone.getDefault());
updateTime.set(Calendar.HOUR_OF_DAY, 7);
Intent downloader = new Intent(mActivity, FileDownloadService.class);
downloader.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mActivity, 0, downloader, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, updateTime.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
从应用程序的其他部分,我得到重复间隔的值来运行Service
。重复间隔的值每天都在变化。
我们如何在运行时更改AlarmManager
间隔,因为上面的代码只会被执行一次?
例如,在第1天,我希望重复间隔为15分钟,在第2天,我希望间隔为2小时。
如何动态更改重复间隔?