2017-07-04 71 views
1

我設置了一個鬧鐘,當應用程序去背景工作正常,但在服務裏面我有一個調用每5分鐘間隔發送位置到服務器,應用程序進入後臺後,服務工作繼續,但到期網絡我的api沒有被調用,並獲取socckettimeOutException雖然網絡可用。sockettimeOutexception當應用程序在後臺進入

+0

你有沒有解決這個問題?我得到同樣的問題 – George

回答

0

SocketTimeoutException發生在套接字讀取或接受超時時。例如:從套接字輸入流中讀取字節。網絡可能可用,但你沒有在套接字上接收數據,所以在經過一段時間並沒有收到任何數據之後,會拋出此異常。

您可以使用socket.setSoTimeout(0)來設置套接字超時值,以避免超時。

+0

我認爲你不明白我的問題。 讓我簡單解釋一下。 當我的應用程序在後臺進入時,只有網絡不可用,當我回來並再次打開我的應用程序時,它工作正常。它不會拋出socketTimeOutException。 基本上,我正在做的是,我每分鐘都會得到經緯度,每隔2分鐘發送一次到服務器。 我已經使用了alarmReceiver,它工作正常,服務不會死亡。 希望你現在明白這一點。 –

0

我們可以通過定義一個套接字超時(使更多的超時),後來通過使用try catch塊處理它處理它..

serverSocket.setSoTimeout(10000); //set the socket timeout in milliseconds 
相關問題