[英]Offline push notification - reminder feature
我有兴趣以提醒的形式向我的应用程序添加通知。
我已经研究了通知,但我还没有找到一种方法来在不打开应用程序的情况下做到这一点。
例如,我想添加一个时间设置,它将存储发送通知的时间。
然后,每天(或 w\\e),在给定的时间,我希望用户收到通知,他可以单击该通知进入应用程序。
它是如何完成的?
您需要编写一个基于AlarmManager
的程序来安排应用程序的调用,然后使用NotificationCompat.Builder
将本地通知发送到 UI
看看下面的链接,它会让你轻松入门
http://developer.android.com/training/scheduling/alarms.html
更好的是,您可能想要查看GCMNetworkManager ,这是在特定时间安排任务发生的另一种好方法。
您不需要为警报或其他计划事件的发生而运行应用程序。 生成定时事件以触发通知的选项很少。
这是一个示例,您将设置 PendingIntent 以启动通知:
private void setAlarm() {
final AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
final Intent i = new Intent(this, MyNotifService.class);
final PendingIntent pi = PendingIntent.getService(this, 0, i, 0);
am.cancel(pi);
final Calendar cal = Calendar.getInstance();
final String notifTime = prefs.getString("notif_time", "07:30");
final String[] times = notifTime.split(":");
final int hour = Integer.parseInt(times[0]);
final int min = Integer.parseInt(times[1]);
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, min);
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pi);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.