簡體   English   中英

如何在特定時間內自動啟用/禁用推送通知

[英]How to automatic enable/disable push notification for certain time

我是使用 Android 警報服務的新手。 我想創建一個用葯提醒,它是用葯信息和每天重復通知的次數作為輸入數據。 但是,我只想在早上 7 點到晚上 7 點之間啟用通知。 因此,應用程序將僅在該時間內通知,並且應用程序將在上午 7 點開始通知。

示例:如果用戶想每天重復 3 次應用程序的通知,則應用程序將每 4 小時通知他們吃葯(12 小時 / 3 次 = 4 小時)。

我試過使用 while 循環,但是它在某種程度上沒有按我預期的那樣工作,如果條件為真,那么它會繼續通知,即使現在還不是時候(這發生在我的代碼上)。

所以,在這里我試圖做的是:

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 7);
while(calendar.get(Calendar.HOUR_OF_DAY) >= 0) {
    while (calendar.get(Calendar.HOUR_OF_DAY) >= 7 && calendar.get(Calendar.HOUR_OF_DAY) <= 19) {
           // the process here
    }
    calendar.add(Calendar.HOUR_OF_DAY, 1);
}

如果我的代碼在很多方面都缺乏,我很抱歉。 但是,我真的希望你們能幫助我或與我分享任何其他可能的解決方案。 謝謝你。

您設置的日歷時間不正確。

代替

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 7);
while(calendar.get(Calendar.HOUR_OF_DAY) >= 0) {
    while (calendar.get(Calendar.HOUR_OF_DAY) >= 7 && calendar.get(Calendar.HOUR_OF_DAY) <= 19) {
           // the process here
    }
    calendar.add(Calendar.HOUR_OF_DAY, 1);
}

Calendar cc = Calendar.getInstance();
int mHour = cc.get(Calendar.HOUR_OF_DAY);

if (mHour  >= 7 && mHour  <= 19) {
               // the process here
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM