我无法在Android中设置AlarmCLock的期望时间



嗨,伙计们,这就是我目前所拥有的:

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。

使用TimePicker,调用picker.getCurrentHour()picker.getCurrentMinute()。使用这些值,通过乘以一小时(3600000)或一分钟(60000)中的毫秒来计算一天中给定时间的总毫秒数(例如,中午12:00等于43200000ms)。然后获取今天的日期从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设置为第二个参数之外。

最新更新