Използвам AlarmManager
за транзакции за актуализиране на приспособления. Имам различни стойности на интервали като 5, 10, 15, 30 минути и т.н.
Как да се обадя на AlarmManager
:
alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyService.class);
pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
// Interval value, default 600 (600*1000 -> 10 min)
Long repeat = Long.parseLong(prefs.getString("update_preference", "600"));
// Set the manager
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), 1000*repeat, pi);
Така че, ако потребителят избере 5 или 10 минути, всичко е наред. Но ако не, искам да кажа, че потребителят избира по-големи стойности като 15, 30, 60 минути MyService
не работи веднага щом setRepetaing
.
Каква е разликата или грешката?
Редактиране: Работи незабавно ‹30 минути, но сега работи над 30 минути с уникални кодове за заявки.