Android 每5天执行一次警报,代码正确吗?

Android 每5天执行一次警报,代码正确吗?,android,calendar,alarmmanager,Android,Calendar,Alarmmanager,我试图在一周的第5天和第24小时设置一个闹钟 这是我正在使用的代码。我一直在阅读日历和AlarmManager文档 这是我想到的 String alarm = Context.ALARM_SERVICE; //Alert for game covers am = (AlarmManager)context.getSystemService(alarm); calendar = Calendar.getInstance(); calendar.set(Ca

我试图在一周的第5天和第24小时设置一个闹钟

这是我正在使用的代码。我一直在阅读日历和AlarmManager文档

这是我想到的

 String alarm = Context.ALARM_SERVICE;
     //Alert for game covers
     am = (AlarmManager)context.getSystemService(alarm);
     calendar = Calendar.getInstance();
     calendar.set(Calendar.DAY_OF_WEEK, 5);
     calendar.set(Calendar.HOUR_OF_DAY, 23);
     calendar.set(Calendar.MINUTE, 0);
     calendar.set(Calendar.SECOND, 0);
    Intent Aintent = new Intent("REFRESH_THIS");
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, Aintent, 0);
    am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis() , AlarmManager.INTERVAL_DAY, pi);

这对我想做的事情正确吗?

要获得一个指向未来5天的日期的
日历实例,您可以使用当前日期并添加5天,如下所示:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 5);
然后设置闹钟:

am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
                pendingIntent);

那我怎么测试呢?有没有办法测试一下报警器。或者我必须等到我指定的时间吗?您可以通过测试不同的值来尝试该功能。逻辑将是相同的,只是截断您必须等待的时间。如果我只想在星期一和星期二触发报警,那么此AlarmManager的参数是什么。INTERVAL_DAYIm使用setRepeating()那么这会是什么样子呢?也许你先看看这个:如果我只想在周一和周三发出警报,那么这个AlarmManager.INTERVAL\u DAY的参数是什么