Я искал много мест, но не смог найти четкое последовательное объяснение того, как запускать службу (или, если это невозможно, то действие) в определенное время ежедневно с помощью 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 ... но он не запускает службу ... я должен держать процесс запущенным ??
М, я делаю что-то не так ???
Еще одна вещь, мой сервис прекрасно работает, если я использую следующий код:
long firstTime = SystemClock.elapsedRealtime();
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 30*1000,pintent);