我想安排多個重複的基於時間的警報。根據this android dev doc,「重複基於精確的觸發時間的警報不能很好地擴展」,爲什麼這是,我不明白。但我需要這種精確類型的功能。那麼我有什麼選擇?我的主要目標是使用AlarmManager類來安排警報,並在預定時間發生時發出通知,但考慮到開發人員文檔,我不太清楚如何處理它。調度重複的基於時間的警報
編輯:
㈣管理來安排我的報警器,其中ARNT正好在設定的時間間隔後反覆復發的嚴格意義上的重複基於時間的警報,但在設置多重意義上的「重複」報警。現在,當我把我的日期和時間上的日曆,月被設定爲未來一個月,如果我把10,它的月份設置爲11,我的繼承人代碼:
Calendar cal = Calendar.getInstance();
String date = "23/10/2016";//month set to 10
String[] _date = date.split("/");
String time = "4:33";
String[] _time = time.split(":");
Intent intent = new Intent(test.this,
AlarmReceiver.class);
intent.setData(Uri.parse("timer:555"));
PendingIntent sender = PendingIntent.getBroadcast(
test.this, 0, intent,
0);
cal.set(Integer.parseInt(_date[2]), //year
Integer.parseInt(_date[1]), //month
Integer.parseInt(_date[0]), //day
Integer.parseInt(_time[0]), //hour
Integer.parseInt(_time[1]));//minute
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
Toast mToast = Toast.makeText(
test.this,
"Reminders added to the calendar successfully for "
+ android.text.format.DateFormat.format(
"MM/dd/yy h:mmaa",
cal.getTimeInMillis()),
Toast.LENGTH_LONG);
mToast.show();//month displayed is 11
在java.util.Calendar中MONTH對象從0開始。所以JANUARY = 0,FEBRUARY = 1在DECEMBER = 11結束。 –
啊!......那很愚蠢,再次感謝thanx。 – BiGGZ
只是一個問題。當手機重新啓動時,所有警報都將被刪除,我應該使用RECEIVE_BOOT_COMPLETED權限創建BroadCastReceiver並重置所有警報? – BiGGZ