android - 重复问题(AlarmManager)

标签 android alarmmanager

我正在构建一个必须在一段时间后显示通知的应用程序,为此我使用了 AlarmManager。 要每 15 分钟收到一次通知,我们必须这样做:

mgr.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime(), 900000, pi);

一天的值是 86400000。我的想法是每周(86400000 乘以 7)和每月(86400000 乘以 28)也发出通知。问题是月份不变,我有:

The literal 2419200000 of type int is out of range 

AlarmManager 不能做长时间的通知吗?有解决办法吗? 谢谢。 编辑:

if (Integer.valueOf(choix_notif) == 0)
            {
mgr.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime(), 86400000, pi);
            Log.d("DAY_REPEATING","OK");
            }
            else if (Integer.valueOf(choix_notif) == 1) {
                mgr.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime(), 604800000, pi);
                Log.d("WEEK_REPEATING","OK");
            }
            else if (Integer.valueOf(choix_notif) == 2) {
                mgr.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime(), 2419200000L, pi);
                Log.d("MONTH_REPEATING","OK");

最佳答案

这是可能的(因为 setRepeating() 接收 long 作为参数),但是您应该写 2419200000L 而不是 2419200000 因为 2419200000 对于 int 来说太大了,而且任何整数常量被视为int,所以您需要添加L 来表示这个数字是长的。

关于android - 重复问题(AlarmManager),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078894/

相关文章:

android - 在 android 中发送推送通知

android - 退出应用程序时停止服务(在 Android 的任务中滑动应用程序)

Android,如何取消闹钟? alarmManager.cancel 不工作

android - 获取 'java.lang.IllegalArgumentException: Can' t 在运行 android 2.3.3 的设备中使用 FLAG_RECEIVER_BOOT_UPGRADE

android - 隐藏 ActionBar 菜单时 SearchView 聚焦

android - 底部的粘性 ScrollView 项目 - Android

javascript - 如何获取任何 Android 手机的 MAC 地址?

java - 如何杀死所有未跟踪Android的警报管理器

java - 在指定日期之前在 Android 中通知

android - Phonegap Android AlarmManager 插件?