android - 在android中每周重复一次闹钟

标签 android alarmmanager android-alarms repeatingalarm

我正在尝试在我的应用程序中开发警报功能,该应用程序在用户指​​定的固定时间的一周内运行。这里的问题是我的调度程序运行一整天而不是在指定的一天运行。这是我为此编写的代码,请帮助解决此问题

Calendar calNow = Calendar.getInstance();
                SimpleDateFormat simpDate;
                simpDate = new SimpleDateFormat("kk:mm:ss");
                if(in_Date==1)
                {
                    calNow.set(Calendar.HOUR_OF_DAY, hourOfDay);
                    calNow.set(Calendar.MINUTE, minute);
                    calNow.set(Calendar.SECOND, 0);
                    calNow.set(Calendar.MILLISECOND, 0);
                }
            else if(in_Date==2)
                {
                    calNow.set(Calendar.HOUR_OF_DAY, hourOfDay);
                    calNow.set(Calendar.MINUTE, minute);
                    calNow.set(Calendar.SECOND, 0);
                    calNow.set(Calendar.MILLISECOND, 0);
                    calNow.set(Calendar.DAY_OF_WEEK,in_SelectedDay);
                }
                etTime.setText(simpDate.format(calNow.getTime()));
                Seconds=calNow.getTimeInMillis();

private void setAlarm(){

    //etTime.setText(simpDate.format(calNow.getTime()));

    Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0);
    AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);

     if(in_Date==1)
     {

       alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, Seconds,alarmManager.INTERVAL_DAY,pendingIntent);
     }
    else if(in_Date==2)
    {

        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, Seconds,1 * 60 * 60 * 1000,pendingIntent);
    }

}

最佳答案

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, Seconds, AlarmManager.INTERVAL_DAY, pendingIntent);

在这一行中,您将开始时间设置为用户选择的日期,然后将间隔设置为 INTERVAL_DAY

您应该使用 INTERVAL_DAY * 7 来确保它每周重复一次:

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, Seconds, AlarmManager.INTERVAL_DAY * 7, pendingIntent);

关于android - 在android中每周重复一次闹钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16237382/

相关文章:

java - 安卓结构: Two classes for one activity

android - Android 中的静态 AlarmManager

android - 使用 AlarmManager 在特定时间显示通知

android - 第 1 部分持久性前台 android 服务,由 UI 启动,也可在 sleep 模式下工作,也可在手机重启时启动

java - 在android中每周在Listview中填充数据

Android:从历史堆栈中清除旧的 Activity 实例

c# - 以字节流形式下载 PDF,然后在 Xamarin.Forms 的默认 Android 应用程序中打开

android - android 每天特定时间通知

android - 如何创建一定数量的变量,其中数量取决于用户输入?

android - Android 中的自定义提醒弹出 View