【发布时间】:2012-04-24 05:41:55
【问题描述】:
我正在尝试为我的课程设置闹钟。我需要在他们开始前一小时拉响警报。所以我只想
- 获取一年中的一周
- 查看周数(循环 ...51,52)
- 查看类(循环...n)
- 为此课程设置星期几
- 在上课前一小时设置一天中的时间
- 将分钟设置为 00
- 使用此日历实例设置闹钟
- 循环结束(类)
- 将周设置为从当前周开始的一周
- 查看类(循环...n)
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
for (int i = cal.get(Calendar.WEEK_OF_YEAR); i <= 52; i++) {
for (Dersler d : dersProgrami) {
alarm = new DersAlarmi(String.valueOf(d.getBaslangicS()) + "00", d.getDersAdi(), d.getDerslik());
cal.set(Calendar.DAY_OF_WEEK, d.getDayOfClass()+1);
cal.set(Calendar.MINUTE, 00);
cal.set(Calendar.HOUR_OF_DAY, d.getStartHour());
cal.add(Calendar.HOUR_OF_DAY, -1);
Log.i("ALARM KURULDU",
String.valueOf(i) + String.valueOf(cal.get(Calendar.DAY_OF_MONTH))+"."+String.valueOf(cal.get(Calendar.MONTH))+"."+String.valueOf(cal.get(Calendar.YEAR))+" "+String.valueOf(cal.get(Calendar.HOUR_OF_DAY))+":"+String.valueOf(cal.get(Calendar.MINUTE))+" Ders:" + d.getDersAdi()
+ " Hafta:"
+ cal.get(Calendar.WEEK_OF_YEAR) + " Gün:"
+ cal.get(Calendar.DAY_OF_WEEK) + " Saat:"
+ cal.get(Calendar.HOUR_OF_DAY));
alarmManager.set(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), pendingIntent);
dersAlarmlari.add(alarm);
}
cal.set(Calendar.WEEK_OF_YEAR, cal.get(Calendar.WEEK_OF_YEAR)+1);
}
当前日期时间为:23.04.2012 23:37
Logcat 是:
04-23 23:23:10.835: I/ALARM KURULDU(16380): 17 25.3.2012 14:0 Ders:DATA MINING Hafta:17 Gün:4 Saat:14
04-23 23:23:10.835: I/ALARM KURULDU(16380): 17 23.3.2012 8:0 Ders:Database Management and SQL Hafta:17 Gün:2 Saat:8
04-23 23:23:10.855: I/ALARM KURULDU(16380): 17 25.3.2012 12:0 Ders:ENTREPRENEURSHIP Hafta:17 Gün:4 Saat:12
04-23 23:23:10.865: I/ALARM KURULDU(16380): 1723.3.2012 11:0 Ders:GRADUATION PROJECT Hafta:17 Gün:2 Saat:11
04-23 23:23:10.865: I/ALARM KURULDU(16380): 18 25.3.2012 14:0 Ders:DATA MINING Hafta:17 Gün:4 Saat:14
04-23 23:23:10.885: I/ALARM KURULDU(16380): 18 23.3.2012 8:0 Ders:Database Management and SQL Hafta:17 Gün:2 Saat:8
04-23 23:23:10.885: I/ALARM KURULDU(16380): 18 25.3.2012 12:0 Ders:ENTREPRENEURSHIP Hafta:17 Gün:4 Saat:12
04-23 23:23:10.895: I/ALARM KURULDU(16380): 18 23.3.2012 11:0 Ders:GRADUATION PROJECT Hafta:17 Gün:2 Saat:11
04-23 23:23:10.905: I/ALARM KURULDU(16380): 19 25.3.2012 14:0 Ders:DATA MINING Hafta:17 Gün:4 Saat:14
...
那么为什么它在 logcat 中显示为 23.03.2012 或 25.03.2012 而不是今天的日期 23.04.2012?我一直在为此浪费时间,谁能告诉我设置闹钟的正确方法吗?
【问题讨论】:
标签: android calendar set alarmmanager alarm