2013-07-15 45 views
1

一個服務,我知道這是不可能的,以保持整個網絡的變化相同的插座,但什麼是重新啓動網絡變更後的服務最簡單的方法?我認爲最好的做法是聽一下android.net.conn.CONNECTIVITY_CHANGE廣播,但我會在哪裏放這個代碼?服務能否自殺並從頭開始重新創建,這樣我的TCP連接也會重新啓動?還是我把代碼放到殺死TCP服務(如果是這樣,我怎麼找到該服務的運行實例殺呢?)重新啓動網絡上Android的變化

感謝您的回答其他服務。

回答

0

編輯: 殺了你的服務就像你開始吧。

在你的廣播接收器:

stopService(new Intent(context, ServiceName.class)); 
+0

正是我說的這是。但你如何殺死你沒有在第一時間啓動服務(你擁有它,但你沒有啓動它的意圖) –

+0

我改進我的回答 –

+0

謝謝你 - 做這項工作即使意圖有額外的東西?我認爲Android使用哈希碼進行比較的意圖(這取決於意圖的哈希碼是如何計算 - 包括額外與否) –