0
我正在創建具有鬧鐘功能的鬧鐘應用程序。時間顯示正常,我也正確設置了多個鬧鐘。Android中的鬧鐘設置關閉和打開
我使用不同的ID創建多個警報,並將其保存到數據庫中,以便我可以在列表視圖中查看警報列表。現在我正在嘗試爲我的鬧鐘設置開啓和關閉功能。那裏有問題。
在itemClick在如果報警後它將切斷的幫助下:
Intent intent = new Intent(Main.this,TaskRecieverForAlarm.class);
PendingIntent pi = PendingIntent.getBroadcast(Main.this, Integer.parseInt(cont[0]), intent, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.cancel(pi);
上面的代碼取消報警完美的罰款。
要打開我使用的報警:一旦
Intent intent = new Intent(Main.this, TaskRecieverForAlarm.class);
intent.putExtra("AlarmDate", cont[1]);
intent.putExtra("key", Integer.parseInt(cont[0]));
PendingIntent sender = PendingIntent.getBroadcast(Main.this, Integer.parseInt(cont[0]) , intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
if(type.equalsIgnoreCase("daily"))
{
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 1440*60000 ,sender);
}
else if(type.equalsIgnoreCase("weekly"))
{
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender); am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 7*1440*60000 ,sender);
}
現在,當我點擊OFF到ON,報警觸發和調用TASKReceiverFORAlarm(廣播接收器),即使報警時間爲4或5距離當前時間的小時。我不確定我哪裏出錯了?
有人可以幫我嗎?
謝謝!
我認爲你需要使用'FLAG_CANCEL_CURRENT',而不是'FLAG_UPDATE_CURRENT',但這只是一個猜測。請嘗試一下,並在這裏回顧結果。 – g00dy
改變了它,但仍然一樣。 PendingIntent sender = PendingIntent.getBroadcast(Main.this,Integer.parseInt(cont [0]),intent,PendingIntent.FLAG_UPDATE_CURRENT); TO PendingIntent sender = PendingIntent.getBroadcast(Main.this,Integer.parseInt(cont [0]),intent,PendingIntent.FLAG_CANCEL_CURRENT); – Mary
好的,這不起作用,請嘗試下面的解決方案。 – g00dy