1

我敢肯定,我做错了什么,但我不能让报警经理触发不止一次当我安装一个报警器执行以下操作:的Android Alarmmanager不长的时间间隔重复

AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); 
Intent i = new Intent(context, ReminderAlarmReceiver.class); 
i.setData(Uri.parse(REMINDER_ID + getReminderID() + getTriggerAtTime())); 
i.putExtra(REMINDER_ID, reminderID); 
i.putExtra(DiaryListItem.DIARY_ID, parentDiaryID); 
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT); 
mgr.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtTime, AlarmManager.INTERVAL_DAY;, pi); 

它似乎触发第一天,但​​不会触发第二天。当我尝试每周或每月发出警报时,会发生同样的情况。有没有更好的方法来设置长期警报?

回答

0

你是不是要把那个分号放在你的.setRepeating中?我想,如果它实际上仍然存在的运行将崩溃:

mgr.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtTime, AlarmManager.INTERVAL_DAY;, pi); 

应该

mgr.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtTime, AlarmManager.INTERVAL_DAY, pi); 

如果这仅仅是一个错字,确实你的logcat提供任何类型的错误?

+0

雅,对不起,这只是一个错字。我还没有使用logcat来查看错误,因为我还没有进入系统时钟,并将系统时钟设置为提前1天,因此闹钟将在模拟器中触发。 – AlexUT

+0

downvote的原因是什么? – Jack