Intereting Posts
Как я могу запустить MAIN-активность с помощью <намерения-фильтра>? Android Studio Gradle Error – preDexDebug База данных Android SQLite заблокирована Как определить максимальную память текстуры на Android OpenGL ES Как использовать «CookieManager :: removeAllCookies (обратный вызов ValueCallback <Boolean>)» Предупреждение: JDK не указан для модуля «Myproject». При запуске моего проекта в студии Android Максимальный размер буфера обмена Android Динамически найти название темы в приложении Android Java.lang.UnsupportedOperationException: невозможно преобразовать в измерение: type = 0x12 FloatingActionButton с SnackBar и CoordinatorLayout не будет работать с proguard Можно ли использовать API android для перехвата и чтения сообщений оператора (сообщения USSD)? Google GCM, токен и идентификатор регистрации Как установить StaticLayout в Android? Ошибка синтаксического анализа цветов из строки Как использовать библиотеку ZXing без установки приложения barcodescanner

Как повторить день недели тревоги в 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 дня.

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