如何创建几个月后会调用的警报?

时间:2016-07-10 07:05:16

标签: android performance alarmmanager

我刚刚了解了AlarmManager并尝试使用它。据我所知,警报是通过说它需要在X毫秒之后调用来设置的,如下面的代码所示:

am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (sec * 1000), pendingIntent);

然而,我担心系统在很长一段时间内的性能。

如果我需要在10个月后设置会激活通知的闹钟,我该怎么办?我是否需要将所需的时间段转换为毫秒并以相同的方式传递?或者还有其他更有效的方法可以长时间工作?

3 个答案:

答案 0 :(得分:2)

是的,你必须以毫秒为单位传递它。我不确定你为什么担心这个表现,在表现形式上没有损失通过一个大的价值而不是一个小的价值。你唯一真正的问题是在X个月内做,一个月的长度不规律。我将为结束时间创建一个Calendar对象,并将其转换为毫秒以使其正确。

答案 1 :(得分:0)

像这样使用

int month = 2;
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY * 30*month, pendingIntent);

答案 2 :(得分:0)

上面已经讨论了如何长时间设置警报。 您只需要检查一下,如果设备重新启动,您将重置警报,因为系统熄灭后警报会被取消。

link here