Ниже приведен пример кода, который я пробовал, мне нужно запускать 1 задачу в 3 разных раза по X минут каждый день, и скажем, у меня 12,17,20, и она должна работать в течение 120 минут, и она уже 12:30:00, поэтому, если я открою приложение, оно должно запустить задачу и запустить ее в течение 90 минут.
Что я здесь не так делаю и что мне нужно изменить, чтобы выполнить вышесказанное?
// here I receive my config with the hours I need to run my task
String[] time = Config.SCHEDULE.split(",");
int runTimeLeft = Config.TIMELEFT;
for (String hour : time)
{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour));
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
long start = calendar.getTimeInMillis() - System.currentTimeMillis();
ThreadPoolManager.getInstance().scheduleAtFixedRate(new Runnable()
{
public void run()
{
startMyTask();
}
}, start, 24 * 60 * 60 * 1000);
}