0

我在 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;

一个月一次与完全相同的日历日会发生什么?这甚至可能吗?如果没有,这是如何实现的?

4

1 回答 1

1

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

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

setInexactRepeating(int, long, long, PendingIntent)可用的不精确重复间隔由: INTERVAL_DAY, INTERVAL_FIFTEEN_MINUTES, INTERVAL_HALF_DAY, INTERVAL_HALF_HOUR,识别INTERVAL_HOUR

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

也许您以错误的方式处理此问题?

于 2012-06-15T18:56:51.397 回答