0

我有一個有效的序幕意圖服務每5小時(從啓動)的應用程序從網絡上獲取數據。從網絡獲取數據時,網絡連接在預定的服務可

我想達到的目標是,如果沒有網絡連接(在讀取時),訂閱一些廣播收聽當網絡可用,並再次獲取數據。

實現此目的的最佳方法/技術是什麼?

而且,我可能會想取消訂閱(用於網絡連接廣播)後,我已經成功地獲取數據這種方式,並重置原有的服務計劃,以便它在5小時內再次檢查。

回答

0

到底是什麼我沒被允許通過該清單(踢我的意圖服務的),我的廣播接收器,監聽android.net.conn.CONNECTIVITY_CHANGE。即這使我能夠監聽網絡中的變化。

現在,在我的意圖的服務,如果數據未能獲取由於網絡連接,然後我會設置一個標誌,在被稱爲「waiting_for_connection」共享PREF;

如果網絡改變了我會檢查「waiting_for_connection」標誌,如果設置。如果是假的,那我就回去;否則我只會在有網絡的情況下才會獲取數據。如果成功,我會重置國旗。