2011-08-29 80 views
1

我正在嘗試使用此設置來設置每天發生的報警。AlarmManager未設置,每次活動都打開報警

String alarm = Context.ALARM_SERVICE; 
       Calendar calendar = Calendar.getInstance(); 
       AlarmManager am = (AlarmManager)getActivity().getSystemService(alarm); 

        Intent intent = new Intent("NEW_ITEM"); 
        PendingIntent sender = PendingIntent.getBroadcast(getActivity(), 0, intent, 0); 
        calendar.setTimeInMillis(System.currentTimeMillis()); 
        am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1*AlarmManager.INTERVAL_DAY, sender); 

回答

1

不運行它,代碼看起來對我好......很顯然,如果你每次啓動活動時間設置該報警,報警會立即關閉,因爲:am.setRepeating(AlarmManager.RTC_WAKEUP, **calendar.getTimeInMillis()**, 1*AlarmManager.INTERVAL_DAY, sender);告知報警管理,以提醒權現在(第二參數),並在一天重複(第三參數,假設你的常數是正確的)。

如果您希望告警開始只在24小時內,只需將線更改爲:

am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + AlarmManager.INTERVAL_DAY, AlarmManager.INTERVAL_DAY, sender); 
+0

好吧,這很酷。我只是想確保警報正在設置,所以如果應用程序在一天內打開,警報仍會出現。 – yoshi24