我在我的應用程序中實現了套接字,因此它與服務器通信,而我的問題是我無法確定套接字在以下情況下關閉。Handiling disconnected Sockets
1)IAM Wi-Fi連接具有有效的互聯網連接,並具有活性的套接字連接與我的互聯網連接斷開
2)當已經連接到2G/3G網絡連接,有時插座連接斷開
在上述情況下,我無法確定是否存在活動的套接字連接。是否有任何方法可以在android中實現此目的?
請幫助...
我在我的應用程序中實現了套接字,因此它與服務器通信,而我的問題是我無法確定套接字在以下情況下關閉。Handiling disconnected Sockets
1)IAM Wi-Fi連接具有有效的互聯網連接,並具有活性的套接字連接與我的互聯網連接斷開
2)當已經連接到2G/3G網絡連接,有時插座連接斷開
在上述情況下,我無法確定是否存在活動的套接字連接。是否有任何方法可以在android中實現此目的?
請幫助...
看看Android的Determining and Monitoring the Connectivity Status:
可以使用ConnectivityManager檢查你實際上連接到互聯網,如果是這樣,什麼類型連接到位。
有一些示例代碼:
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
此外,
的ConnectivityManager廣播每當連接細節已經改變了CONNECTIVITY_ACTION( 「android.net.conn.CONNECTIVITY_CHANGE」)的行動。您可以在清單中註冊廣播接收器來監聽這些更改並相應地恢復(或暫停)您的後臺更新。
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
我可以說的是使用'互聯網連接廣播receiver'或嘗試你有沒有嘗試這些方法從'InputStream' – mmlooloo 2014-09-27 11:32:52