我已经在我的应用程序中实现了socket,当然它正在与服务器进行通信,我的问题是我无法确定套接字何时出现以下情况。
1)iam连接到具有活动互联网连接的wifi并且具有有效的套接字连接并且我的互联网连接断开
2)当我连接到2g / 3g互联网连接时,有时套接字连接断开
在上述情况下,我无法确定是否存在活动的套接字连接。是否有任何方法可以在Android中实现此目的?
请帮忙......
答案 0 :(得分:0)
看看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"/>