2017-02-23 102 views
0

我正在創建一個應用程序,您可以選擇在可定製的時間設置每日通知。你輕彈一個開關,就會出現一個時間選擇器對話框,如果你選擇一個時間,一個AlarmManager會被設置,但它只會觸發一次 - 在正確的時間,但只有一次。Android AlarmManager僅觸發一次

我已經挖通過StackOverflow,但似乎無法找到任何有用的東西。 這裏是我的代碼的相關部分(你可以找到休息here):

mAlarmManager = (AlarmManager) SettingsActivity.this.getSystemService(ALARM_SERVICE); 
Intent intent = new Intent(SettingsActivity.this, AlarmReceiver.class); 
PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(SettingsActivity.this, 
       0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 

Calendar calendar = getTimeForNotification(); 
if(shouldHaveAlreadyNotified(calendar)){ 
    calendar.add(Calendar.DATE, 1); 
    } 
mAlarmManager.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), 
     24 * 60 * 60 * 1000, alarmPendingIntent); 
+0

試試這個:'mAlarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,...);' – AnixPasBesoin

+0

謝謝,我會盡快嘗試。 –

回答

0

將其更改爲AlarmManager.ELAPSED_REALTIME_WAK‌​EUP使它沒有通知作了可言。將其更改爲AlarmManager.RTC_WAKEUP解決了問題!

非常感謝任何提供解決方案的人。