2010-02-16 274 views
4

嗨,我一直在研究android中的报警管理器,并想知道是否有设置闹钟的具体时间(或可以使用通知管理器)在特定时间例如明天下午12点关闭。 下面的代码将闹钟设置为从现在开始的5秒钟,所以将它设置为像12点这样的东西,你可以做一些类似于12:00:00的事情吗?Android报警管理器

Intent intent = new Intent(this, OnetimeAlarmReceiver.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, REQUEST_CODE, intent, 0); 

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (5 * 1000), sender); 
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show(); 

回答

12

Java的日期和时间库是一个巨大的麻烦,但是这应该给你一个想法:

// the time now 
Calendar calendar = Calendar.newInstance(); 

// noon tomorrow 
calendar.add(Calendar.DAY_OF_YEAR, 1); 
calendar.set(Calendar.HOUR_OF_DAY, 12); 
calendar.set(Calendar.MINUTE, 0); 
calendar.set(Calendar.SECOND, 0); 

alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender); 
    Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show(); 
+0

非常感谢我会尽力,并与合作那稍后。 – SamB09

+0

没问题。不要忘记,你可以upvote和接受回应:)这将保持人们的动机回答你的问题 – emmby

+0

我试过了,它的工作非常感谢。 – SamB09

0
Calendar calendar = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault()); 

这应该工作