2012-02-17 63 views
0

嗨,大家好这是我到目前为止有:我不能得到设定闹钟的欲望时间的Android

PendingIntent sender = PendingIntent.getBroadcast(mainactivity, 0, intent, 0); 
      Calendar calendar = Calendar.getInstance(); 
      calendar.setTimeInMillis(System.currentTimeMillis()); 
      calendar.add(Calendar.SECOND, 10); 
      AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
      alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender); 
      showmsg(); 

报警自带10秒后我怎样才能使它在欲望的时间,我想,我有设置一个时间选择器,所以我怎样才能做到这一点取决于时间选择器的时间来响闹?

Thanx。

+0

我的答案是如何为你解决的? – koopaking3 2012-02-20 18:33:42

回答

0

随着你的TimePicker,请致电picker.getCurrentHour()picker.getCurrentMinute()。通过乘以一小时(3600000)或分钟(60000)的毫秒数,使用这些值来计算一天中给定时间的总毫秒数(例如,中午12:00将等于43200000毫秒)。然后从0:00开始获取当天日期的毫秒数。这都会是这样的:

//time of day in ms 
long totalTimePickerMs = (picker.getCurrentHour() * 3600000) + (picker.getCurrentMinute() * 60000); 

//today's date in ms 
Calendar c = Calendar.getInstance(); 
Date d = c.getTime(); 
long today = d.getDay() + d.getMonth() + d.getYear(); 
long total = today + totalTimePickerMs; 

从本质上讲,你是在以毫秒为单位午夜(0:00)获得今天和增加它的一天的具体时间毫秒。

然后像以前一样,除了设置报警为total作为第二个参数。