0
我有一個應用程序,我想在奇數天發送通知(如每月的1,3,5天)。經過研究,我明白我需要一項服務。但我無法弄清楚如何每天獲得新的日期,或者如何注意當天發生變化的服務......當天像聽衆那樣的事情發生了變化......我搜索了很多,只發現了參考如何在特定日期安排通知,但這不是我需要的,因爲我想每天都驗證日期。非常感謝您的幫助!如何通過檢查日期在特定日期發送通知
我有一個應用程序,我想在奇數天發送通知(如每月的1,3,5天)。經過研究,我明白我需要一項服務。但我無法弄清楚如何每天獲得新的日期,或者如何注意當天發生變化的服務......當天像聽衆那樣的事情發生了變化......我搜索了很多,只發現了參考如何在特定日期安排通知,但這不是我需要的,因爲我想每天都驗證日期。非常感謝您的幫助!如何通過檢查日期在特定日期發送通知
你可以在Android報警的幫助下做到這一點。
,你需要做的步驟:
開始在您需要顯示通知的日期和時間報警。
訂閱重啓廣播接收器,然後重新設置相同的報警(因爲你設置一次設備重新啓動將會消失報警)報警器一旦選中
,可以顯示從通知警報廣播接收器,然後設置新的警報。
要安排報警:
AlarmManager mgr=
(AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(ctxt, ScheduledService.class);
PendingIntent pi=PendingIntent.getService(ctxt, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime() + DIFF_PERIOD, PERIOD, pi);
其中,period:48小時在毫秒
DIFF_PERIOD:到時候你最近的刻度。也就是說,如果您在第2天並且需要在第3天觸發鬧鐘,則此值將爲:24小時,以毫秒爲單位
要回答您的評論。
要查找月份的一天,你可以使用follwing:
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
感謝您的回答!我不明白的是,我怎麼知道今天是什麼......正如你所說'如果你在第二天'......這個參數給了我實時(而不是從啓動開始的時間) ? – Rucsi