嗨,我正在使用android中的此代码段

public boolean isOnline() {
    ConnectivityManager connMgr = (ConnectivityManager)
    getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
    return (networkInfo != null && networkInfo.isConnected());
}


但是当我从桌面中断互联网连接时,找不到并没有连接,然后尝试连接。我正在adnroid模拟器中运行它。我的问题:为什么它不会返回false并仍然可以解决它是否已连接?如果通过3D连接,是否应该获取数据?

最佳答案

public class Networking {
 /*
 *@return boolean return true if the application can access the internet
 */
 public static boolean isNetworkAvailable(Context context) {
     ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
     if (connectivity != null) {
        NetworkInfo[] info = connectivity.getAllNetworkInfo();
        if (info != null) {
           for (int i = 0; i < info.length; i++) {
              if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                 return true;
              }
           }
        }
     }
     return false;
  }
}

关于android - android连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11794034/

10-08 23:28