Intent myIntent = new Intent(Alarm.this, Automaton.class);
myIntent.putExtra("methodName", "myMethod");
myIntent.putExtra("hour", tp.getCurrentHour().toString());
myIntent.putExtra("minute", tp.getCurrentMinute().toString());
hour = tp.getCurrentHour();
minute = tp.getCurrentMinute();
PendingIntent pendingIntent = PendingIntent.getActivity(Alarm.this, 0, myIntent,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.HOUR_OF_DAY, hour);
calendar.set(calendar.MINUTE, minute);
calendar.set(calendar.SECOND, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 86400000, pendingIntent);
Выше мой код. Вот моя проблема; У меня есть метод в другой Activity, который я хочу запустить в указанное время. Если пользователь выбирает время, которое НЕ прошло еще в тот же день (скажем, вы устанавливаете будильник в 10 утра за 11 утра, он будет работать нормально). Однако, если вы установите будильник на 9 утра в 10 утра, он мгновенно запустит ожидающее намерение. Не знаю, где я ошибаюсь. Любая помощь будет оценена!Аварийная сигнализация AlarmManager мгновенно
спасибо за быстрый ответ Appu, позволяет сказать, что я хочу, чтобы установить будильник в настоящее время (11:45 PM) для запуска завтра в 5:30 утра. Технически 5:30 утра уже прошло, поэтому, если я пойду, чтобы установить его, он выстрелится мгновенно. Это то, чего я пытаюсь избежать – user2121927
Нет, я могу сказать, как вы понимаете, что все неправильно. Поскольку сигналы тревоги должны быть установлены с помощью миллисекунд. Таким образом, 11.45PM теперь в миллисекундах составляет менее 5:30 утра (в миллисекундах) завтра технически :) – Kanth