我知道这个主题解释得很好,并且有很多教程。但也许我在android上太新了解我的错误。
我需要实现一组提醒的支持。并且通知应该在每个星期一下午15点准确显示。我在这个网站上检查了很多教程和类似的问题,但无论如何通知显示,不知何故,随机。
如何测试实施:
我的任务是在15:00运行通知或稍后运行通知。但不是之前。
设置重复通知
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, NotifyService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, (int) reminder.id, intent, 0);
final Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, 2);
calendar.set(Calendar.HOUR_OF_DAY, reminder.time.hour);
calendar.set(Calendar.MINUTE, reminder.time.minute);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP,
Calendar.getInstance().getTimeInMillis(), 20000, pendingIntent);
顺便说一句
我的min SDK版本是7,所以我不能使用像 setExact()
这样的方法 测试设备上的Android版本是4.4.2由于
答案 0 :(得分:1)
设置闹钟时,请使用Calendar.getInstance().getTimeInMillis()
而不是calendar.getTimeInMillis()
进行设置。简单的错误;)。
基本上将闹钟设置为' now'每次都忽略你的日历对象。