and*_*nnn 1 android alarmmanager
我正在构建一个必须在一段时间后显示通知的应用程序,因为我使用了AlarmManager.要每15分钟发出一次通知,我们必须这样做:
mgr.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime(), 900000, pi);
Run Code Online (Sandbox Code Playgroud)
有一天我们86400000有价值.我的想法是每周也发出一个通知(乘以86400000与7)和每个月(乘以86400000与28).问题是月份不变,我有:
The literal 2419200000 of type int is out of range
Run Code Online (Sandbox Code Playgroud)
使用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");
Run Code Online (Sandbox Code Playgroud)
它是可能的(因为setRepeating()只要参数接收),但是2419200000你应该写,2419200000L因为2419200000对于int来说太大了,并且任何整数常量都被视为int,所以你需要添加L以指示这个数字很长.
| 归档时间: |
|
| 查看次数: |
497 次 |
| 最近记录: |