Количество установок в AlarmManager

83
23 ноября 2020, 21:40

Добрый день интересует такой вопрос, как сделать несколько установок по времени с помощью AlarmManager. Допустим мне нужно 2 сигнала в 11 и 12 часов. когда я пытаюсь сделать это он только делает сигнал в 12 часов. Подскажите как решить заранее спасибо!

 public void startAlarm(Calendar calendar) {
    AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    Intent myIntent;
    PendingIntent pendingIntent;
    myIntent = new Intent(MainActivity.this,push.class);        
pendingIntent=PendingIntent.getBroadcast(this,0,myIntent.setAction("1"),0);
    manager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);        
}
Answer 1

По идее, должно работать как-то так:

public void startAlarm(Calendar calendar, String action) {
    AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent myIntent;
    PendingIntent pendingIntent;
    myIntent = new Intent(MainActivity.this, push.class);
    myIntent.setAction(action);
    pendingIntent = PendingIntent.getBroadcast(this, 0, myIntent, 0);
    manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}

Т.е. нужно, чтобы интенты были разными и добавление action должно делать их разными для ОС.

Теперь можно создать два разных аларма так:

setAlarm(calendar0, "0");
setAlarm(calendar1, "1");
READ ALSO
Поймать переход на другую вкладку

Поймать переход на другую вкладку

Есть задача разработать web-приложение для написания сочинения к 9 маяСочинение должно писаться по знаниям в голове и без использования поисковых...

128
Не срабатывает декоратор @Input в Angular 7

Не срабатывает декоратор @Input в Angular 7

Имеются компоненты: родительский container и дочерние add-group и group (экземпляр динамического компонента), являющиеся соседямиВ add-group есть инпут,...

104
Сортировка вложенных массивов

Сортировка вложенных массивов

Необходимо отсортировать массивы по числовому показателю в последнем индексе каждого массиваТо есть, в массиве mass, в коде ниже, mass[2] должен...

106