0

これは私のコードですが、正しく動作しません.インターネット接続を無効にしても常にtrueを返します:

public boolean hasConnection(Context context) {

              /**
                *context.getsystemservice parameters:
                name: The name of the desired service. 
                Returns: The service or null if the name does not exist.
               */
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(
                Context.CONNECTIVITY_SERVICE);

            NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            if (wifiNetwork != null && wifiNetwork.isConnected()) {
              return true;
            }

            NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            if (mobileNetwork != null && mobileNetwork.isConnected()) {
              return true;
            }

            NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
            if (activeNetwork != null && activeNetwork.isConnected()) {
              return true;
            }

            return false;
          }//end of hasConnection class
4

3 に答える 3

0

なんらかの種類のネットワークが接続されている場合にのみ関心がある場合は、追加のコードは必要ありません。

    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo ni = cm.getActiveNetworkInfo();

    return (ni != null) && ni.isConnected();
于 2013-08-15T05:24:45.903 に答える