Я искал много мест, но не смог найти чистое последовательное объяснение того, как запустить службу (или, если это невозможно, тогда активность) в определенное время ежедневно с помощью AlarmManager??
Я хочу зарегистрировать несколько таких аварийных сигналов, и их запуск должен привести к запуску службы. У меня будет небольшая часть кода в сервисе, который затем будет выполнен, и я могу закончить сервис для хорошего....
Calendar cal = Calendar.getInstance();
Calendar cur_cal = Calendar.getInstance();
cur_cal.setTimeInMillis(System.currentTimeMillis());
Date date = new Date(cur_cal.get(Calendar.YEAR), cur_cal.get(Calendar.MONTH), cur_cal.get(Calendar.DATE), 16, 45);
cal.setTime(date);
Intent intent = new Intent(ProfileList.this, ActivateOnTime.class);
intent.putExtra("profile_id", 2);
PendingIntent pintent = PendingIntent.getService(ProfileList.this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent);
System.out.println("The alarm set!!");
Я попробовал этот код, чтобы активировать будильник в 4.45... но его не уволил сервис... мне нужно, чтобы процесс работал? M я делаю что-то неправильно???
Еще одна вещь: моя служба отлично выполняется в случае, если я использую следующий код:
long firstTime = SystemClock.elapsedRealtime();
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 30*1000,pintent);