2016-06-06 51 views
0

我有一個應用程序,我想在奇數天發送通知(如每月的1,3,5天)。經過研究,我明白我需要一項服務。但我無法弄清楚如何每天獲得新的日期,或者如何注意當天發生變化的服務......當天像聽衆那樣的事情發生了變化......我搜索了很多,只發現了參考如何在特定日期安排通知,但這不是我需要的,因爲我想每天都驗證日期。非常感謝您的幫助!如何通過檢查日期在特定日期發送通知

回答

1

你可以在Android報警的幫助下做到這一點。

,你需要做的步驟:

  1. 開始在您需要顯示通知的日期和時間報警。

  2. 訂閱重啓廣播接收器,然後重新設置相同的報警(因爲你設置一次設備重新啓動將會消失報警)報警器一旦選中

  3. ,可以顯示從通知警報廣播接收器,然後設置新的警報。

要安排報警:

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); 
+0

感謝您的回答!我不明白的是,我怎麼知道今天是什麼......正如你所說'如果你在第二天'......這個參數給了我實時(而不是從啓動開始的時間) ? – Rucsi