2017-12-18 99 views
1

我正在製作Android應用程序,其中我使用Android服務發送消息while(true)。我將這些消息存儲在sqlite數據庫中。該消息應該只發送一次。我怎樣才能做到這一點?如何在android工作室中成功發送消息時斷開while循環

我的問題是,我如何獲得消息發送ID哪些消息被髮送?

這裏是我的消息代碼:

while (true) { 
    new SendJobs().execute(Numbers);       
} 
+0

你如何定義'那個消息'?也就是說,什麼使消息與其他消息一樣? –

+0

你可以檢查這[鏈接](https://stackoverflow.com/questions/12575068/how-to-get-the-result-of-onpostexecute-to-main-activity-because-asynctask-is-a)到(asyncTask) –

+0

這是我的asynctask代碼: while(true){ifId = JobNumbersId} { String [] jobsNumbers = numbers.toArray(new String [numbers.size()]); new SendJobs()。execute(jobsNumbers);其他{ 中斷; } } } –

回答

0

您已經將其存儲在數據庫嗎?

所以,你可以確保信息只發送一次,通過執行以下操作

  1. 改變用布爾列數據庫(如isSent)
  2. 發送該消息後,更新列到true

所以,如果你正在運行的異步任務中獲得的信息,記住選擇isSent =「假」

對於消息發送ID

使用信息表的主鍵。