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