我已經創建了一個服務(EmailService)發送電子郵件...每次我需要發送一封電子郵件與我的應用程序,它啓動服務並通過意圖傳遞電子郵件的ID ...多次調用startforeground?
我我正在使用startforeground(id_of_email, mynotifcation);
來防止它被殺,並向用戶顯示發送電子郵件狀態的通知。
我需要讓用戶在時間發送多封電子郵件,因此當用戶需要發送另一封電子郵件,它再次調用startservice
一個新的意圖(不同的ID電子郵件)...所以它再次調用startforeground(new_id_of_email, mynotifcation);
。
的問題是,要startforeground
新的呼叫覆蓋以前的通知......(這樣用戶失去了先前的通知,不知道是怎麼回事,他以前的電子郵件)
不是將數據庫中的任務排隊或更好嗎?這樣,一旦第一次完成,服務會更新它,完成或刪除它並檢查是否還有其他事情要做。也許一個消息隊列繼續爲更多的任務提供服務 – eduyayo