Как повторить день недели тревоги в android

Я хочу получить сигнал тревоги в понедельник до пятницы. Мой код здесь

if (chk_weekday.isChecked()) { int day = calNow.get(Calendar.DAY_OF_WEEK); if (day == 2 || day == 3 || day == 4 || day == 5 || day == 6) { alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(), 1 * 60 * 60 * 1000, pendingIntent); } 

Имейте Идею.

Попробуйте этот код. Успешно запускается в моих приложениях

 if (chk_monday.isChecked()) { forday(2); } else if (chk_tuesday.isChecked()) { forday(3); } else if (chk_wednesday.isChecked()) { forday(4); } else if (chk_thursday.isChecked()) { forday(5); } else if (chk_friday.isChecked()) { forday(6); } else if (chk_sat.isChecked()) { forday(7); } else if (chk_sunday.isChecked()) { forday(1); } public void forday(int week) { calSet.set(Calendar.DAY_OF_WEEK, week); calSet.set(Calendar.HOUR_OF_DAY, hour); calSet.set(Calendar.MINUTE, minuts); calSet.set(Calendar.SECOND, 0); calSet.set(Calendar.MILLISECOND, 0); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(), 1 * 60 * 60 * 1000, pendingIntent); } 

Из вашего вопроса я считаю, что вы хотите выполнять определенную деятельность ежедневно, кроме субботы, воскресенья. Таким образом, ваш код прав, но вы заявляете об этом неправильно, внесите изменения следующим образом и попробуйте

Объявить тревогу в методе OnCreate ()

 alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(), 1 * 60 * 60 * 1000, pendingIntent); 

Теперь ваша тревога будет повторяться ежедневно, и вам необходимо выполнить действие ежедневно, кроме Сб, в воскресенье

  if (chkMonday.isChecked()) { activityToPerform(); } if (chkTuesday.isChecked()) { activityToPerform(); } if (chkWednesday.isChecked()) { activityToPerform(); } if (chkThrusday.isChecked()) { activityToPerform(); } if (chkFriday.isChecked()) { activityToPerform(); } if (chkSaturday.isChecked()) { activityToPerform(); } if (chkSunday.isChecked()) { activityToPerform(); } private void activityToPerform() { // your action code } 

Один из способов заключается в том, что уведомление о тревоге принимается в эфире, а затем проверяет на следующий день, если в субботу установлен будильник в понедельник, иначе просто создайте с добавлением 1 дня.

Каждый раз вам нужно установить новый будильник.