【问题标题】:What is interval for DAY_OF_MONTH for setRepeatingAlarm(); (Android)setRepeating Alarm() 的 DAY_OF_MONTH 间隔是多少; (安卓)
【发布时间】:2012-06-15 18:06:59
【问题描述】:

我在 Android 的 AlarmManager 中设置了一个闹钟。它是一个 setInexactRepeatingAlarm() 应该在同一个 DAY_OF_MONTH 结束。

我希望它在 5 月 21 日、6 月 21 日、7 月 21 日等开始。

解决这个问题的时间间隔是多少?这是否可能,因为有些月份有不同的日子?

 am.setInexactRepeating(AlarmManager.RTC, cal.getTimeInMillis(), i, pendingIntent);

其中“i”是我需要发布的区间公式。比如每天设置一次,就是1 * 24 * 60 * 60 * 1000;

在完全相同的日历日一个月一次会怎样?这甚至可能吗?如果没有,这是如何实现的?

【问题讨论】:

  • 请贴一些代码。我知道你想说什么,但如果没有实际看到发生了什么就不清楚。
  • 按要求添加和更新帖子。
  • 查看AlarmManager 的文档,我认为不可能将它安排为“每月一次”的时间间隔,至少在不使用AlarmManager 以外的其他东西的情况下是不可能的。不过不要引用我的话,因为我和 AlarmManager 的合作并不多。

标签: android alarmmanager


【解决方案1】:

不幸的是,我认为你在这个方面是 SOL。

documentation 中,暗示了在AlarmManager 对象中枚举了不精确的重复警报识别的唯一间隔:

setInexactRepeating(int, long, long, PendingIntent) 识别的可用不精确重复间隔:INTERVAL_DAYINTERVAL_FIFTEEN_MINUTESINTERVAL_HALF_DAYINTERVAL_HALF_HOURINTERVAL_HOUR

此外,当设备重新启动时,所有警报都未注册,因此您的警报响起的可能性(连续一个月?)可能很低。

也许你以错误的方式处理这个问题?

【讨论】:

  • 是的,我也刚得出这个结论。我现在正在尝试使用常规的“设置”警报(非重复)。不知道该去哪里,但我知道有人正在这样做,所以它就是这样工作的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多