Android 闹钟定时提醒 代码

来源:互联网 发布:读读日报和知乎日报 编辑:程序博客网 时间:2024/05/19 13:17
问题:
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmDate*1000, pi); // 设置闹钟

一开始这样写,始终不行,不管时间设置的有多长,都是一点保存按钮,就执行闹钟提醒了,设置的时间根本没到。

原因: alarmDate是直接将定时的那个时间转化成时间戳才运算的。把那个参数搞错了。。


解决:

 // 将时间设置为定时的时间  <strong><span style="color:#ff0000;">Calendar c = Calendar.getInstance();</span></strong>// 获取日期对象//c.setTimeInMillis(System.currentTimeMillis()); // 设置Calendar对象<span style="color:#ff0000;"><strong>c.setTime(new Date((long) alarmDate * 1000));</strong></span>// c.set(Calendar.HOUR, hourOfDay); //设置闹钟小时数// c.set(Calendar.MINUTE, minute); //设置闹钟的分钟数// c.set(Calendar.SECOND, 0); //设置闹钟的秒数// c.set(Calendar.MILLISECOND, 0); //设置闹钟的毫秒数Intent intent = new Intent(ScheduleView.this, AlarmReceiver.class); // 创建Intent对象intent.putExtra("scheduleText", scheduleText.getText().toString());intent.putExtra("scheduleStartTime", startHHmm);intent.putExtra("scheduleEndTime", endHHmm);int alarmCount=0;PendingIntent pi = PendingIntent.getBroadcast(ScheduleView.this, alarmCount++, intent, PendingIntent.FLAG_UPDATE_CURRENT); // 创建PendingIntent alarmManager.set(AlarmManager.RTC_WAKEUP, <strong><span style="color:#ff0000;">c.getTimeInMillis()</span></strong>, pi);// 设置闹钟




参考文章:

1: http://www.cxybl.com/html/android/201110095203.html

2: http://www.cnblogs.com/jico/archive/2010/11/03/1868361.html

0 0
原创粉丝点击