1

这是代码:

ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = conMan.getActiveNetworkInfo();
Log.e("TEST","=================Info================\n"+info.toString());

logcat 看起来像

E/TEST    ( 2113): =================Info================
E/TEST    ( 2113): NetworkInfo: type: ETHERNET[], state: CONNECTED/CONNECTED, reason:    (unspecified), extra: (none), roaming: false, failover: false, isAvailable: false

你觉得这很奇怪吗?不可用但已连接...

4

1 回答 1

0

试试这个代码来检查你的网络连接

 public boolean isNetworkOnline() {
boolean status=false;
try{
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getNetworkInfo(0);
    if (netInfo != null && netInfo.getState()==NetworkInfo.State.CONNECTED) {
        status= true;
    }else {
        netInfo = cm.getNetworkInfo(1);
        if(netInfo!=null && netInfo.getState()==NetworkInfo.State.CONNECTED)
            status= true;
    }
}catch(Exception e){
    e.printStackTrace();  
    return false;
}
return status;

}  
于 2012-06-05T06:42:47.603 回答