我对Android中的本地通知有疑问。我正在开发一个应用程序,其中第一部分必须接收我自己的服务器的所有公司会议(我已经完成),第二部分必须在每次会议前一天通知,但必须通过本地通知。如何安排本地通知Android?
如何在给定日期安排本地通知?
我对Android中的本地通知有疑问。我正在开发一个应用程序,其中第一部分必须接收我自己的服务器的所有公司会议(我已经完成),第二部分必须在每次会议前一天通知,但必须通过本地通知。如何安排本地通知Android?
如何在给定日期安排本地通知?
要安排本地通知你需要知道的一些被用于调度通知像
BroadcastReceivers IntentFilters AlarmManager NotificationService 的PendingIntent
在MainActivity的事情做以下
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent notificationIntent = new Intent("android.media.action.DISPLAY_NOTIFICATION");
notificationIntent.addCategory("android.intent.category.DEFAULT");
PendingIntent broadcast = PendingIntent.getBroadcast(this, 100, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 15);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), broadcast);
}
上述代码将在15秒后安排警报。 15秒后它将广播notificationIntent。
在Intent构造函数中指定的动作是在AndroidManifest.xml
定义要了解本地通知的全部工作和看样品通知代码看看这篇文章 - http://www.singhajit.com/schedule-local-notification-in-android/
重复该过程该怎么做? – Saty
使用日历的HOUR_OF_DAY和setRepeatingAlarm 'Calendar cal = Calendar.getInstance(); cal.add(Calendar.HOUR_OF_DAY,09); cal.add(Calendar.MINUTE,0); cal.add(Calendar.SECOND,0); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),24 * 60 * 60 * 1000,broadcast);' –
@Saty:如果这有助于解决您的问题,您能接受这个答案吗?没有帮助。它会帮助其他人寻找类似的问题。 – bianca
检查[这] (http://stackoverflow.com/questions/21461191/alarmmanager-fires-alarms-at-wrong-time/21461246#21461246)和[this](http://developer.android.com/training/scheduling/alarms。 html) – Skynet