2011-11-26 102 views
9

我希望我的通知每天在中午12点运行。你如何用时间替换时间值?将通知设置为特定时间

NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
Notification notify = new Notification(R.drawable.icon,"Its Time to Eat",when); 

Context context = GrubNOWActivity.this; 
CharSequence title = "Its Time to Eat"; 
CharSequence details = "Click Here to Search for Restaurants"; 
Intent intent = new Intent(context,Search.class); 
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0); 
notify.setLatestEventInfo(context, title, details, pending); 
nm.notify(0,notify); 

回答

41

您可以使用报警经理

Intent myIntent = new Intent(ThisApp.this , myService.class);  
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 
pendingIntent = PendingIntent.getService(ThisApp.this, 0, myIntent, 0); 

Calendar calendar = Calendar.getInstance(); 
calendar.set(Calendar.HOUR_OF_DAY, 12); 
calendar.set(Calendar.MINUTE, 00); 
calendar.set(Calendar.SECOND, 00); 

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000 , pendingIntent); //set repeating every 24 hours 

,并把该通知为myService类里面!

+0

似乎已经做到了,谢谢! –

+0

但是如何在特定时间设置它?假设我想在10Pm时设置它,我该怎么做? – silverFoxA

+0

如何将其设置为特定的一天,例如星期一至星期五,现在是晚上12点? –

1

when参数用于排序状态栏中的通知。您应该编写应用程序的代码,以便在所需的时间触发通知。