我厌倦了寻找关于闹钟的特定日期,每天都在请求谁能帮我并使用这些代码对此有什么错误,每隔一次运行我发送dayOfWeek=1;但每天运行
public void setAlarm(int dayOfWeek) {
Toast.makeText(getApplicationContext(), dayOfWeek+","+h+","+m, 22222).show();
cal1.set(Calendar.DAY_OF_WEEK, dayOfWeek);
cal1.set(Calendar.HOUR, 11);
cal1.set(Calendar.MINUTE, 0);
cal1.set(Calendar.SECOND, 0);
cal1.set(Calendar.MILLISECOND, 0);
Intent intent = new Intent(this, RemmemberActivity.class);
PendingIntent pendingIntent0 = PendingIntent.getBroadcast(this, 0,
intent, 0);
pendingIntent = PendingIntent.getActivity(this, 12345,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
Long alarmTime = cal1.getTimeInMillis();
am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime,24 * 60 * 60 * 1000 , pendingIntent);
}
在我快速查看后,您将警报设置为每24小时在这一行重复一次:
am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime,24 * 60 * 60 * 1000 , pendingIntent);
您的dayOfWeek
仅用于第一次熄灭的时间。
如果你有一个闹钟应该每周在同一时间响三次,那么就制作三个每周重复一次的闹钟。
am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 7 * 24 * 60 * 60 * 1000 , pendingIntent);
最后,如果设置为(sun,tus,fri),则必须为这三天创建三个警报以下代码设置每周日报警,并发送dayOfWeek=1;重要注意:每次创建运行都必须更改每个intnet中的请求代码(12345)例如
public void setAlarm_sun(int dayOfWeek) {
cal1.set(Calendar.DAY_OF_WEEK, dayOfWeek);
Toast.makeText(getApplicationContext(), "sun "+cal1.get(Calendar.DAY_OF_WEEK), 222).show();
Toast.makeText(getApplicationContext(), "Finsh", 222).show();
Intent intent = new Intent(this, SecActivity.class);
PendingIntent pendingIntent0 = PendingIntent.getBroadcast(this, 0,
intent, 0);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 12345,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
Long alarmTime = cal1.getTimeInMillis();
AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);
// am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime,7* 24 * 60 * 60 * 1000 , pendingIntent);
am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime,7* 24 * 60 * 60 * 1000 , pendingIntent);
}