Установка нескольких сигналов тревоги с помощью менеджера сигналов - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь установить несколько будильников с помощью диспетчера тревог.У меня проблема в том, что работает только первый установленный мной будильник.Каждый будильник, установленный после первого, не работает.Это функция для установки будильника:

private void setAlarm(long time){
    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this,MyAlarm.class);
    int id = (int) System.currentTimeMillis();
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this,id,intent,PendingIntent.FLAG_ONE_SHOT);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,time,alarmManager.INTERVAL_DAY,pendingIntent);
}

В моей функции onCreate у меня есть все мои таймеры с onClickListener, который вызывает эту функцию при выборе времени.

time1.setOnClickListener(new View.OnClickListener() {

        @Override public void onClick(View v) {
            // TODO Auto-generated method stub
            Calendar mcurrentTime = Calendar.getInstance();
            int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
            int minute = mcurrentTime.get(Calendar.MINUTE);

            TimePickerDialog mTimePicker;
            mTimePicker = new TimePickerDialog(TimeSet.this, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                    int hour = selectedHour % 12;
                    time1begin.setText(String.format("%02d:%02d %s", hour == 0 ? 12 : hour,
                            selectedMinute, selectedHour < 12 ? "am" : "pm"));


                }
            }, hour, minute, true);
            mTimePicker.setTitle("Select Time");
            mTimePicker.show();
            setAlarm(mcurrentTime.getTimeInMillis());
        }
    });

Каксделать так, чтобы было установлено несколько будильников?

...