在android模拟器中检查互联网

时间:2014-09-26 10:25:26

标签: java android connectivity internet-connection

我正在尝试检查我的Android应用程序中的互联网连接

    public static boolean isConnectingToInternet(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) {
                    Log.d("Network",
                            "NETWORKnAME: " + info[i].getTypeName());
                    return true;
                }

    }
    return false;
}

但问题是,当我尝试通过关闭主机PC互联网连接来检查模拟器中的互联网连接时,此功能返回true,即互联网可用,而我已关闭主机PC的互联网连接
 ConnectivityManager类帮助确定是否与网络连接而不是与互联网连接相关

我的问题是如何检查互联网连接不可用?

2 个答案:

答案 0 :(得分:0)

关闭wifi和数据包后再试一次。希望这会有所帮助。

答案 1 :(得分:-2)

尝试此操作来检测您的互联网连接

public static boolean isInternetConnected(Context mContext) {

            try {
                ConnectivityManager connect = null;
                connect = (ConnectivityManager) mContext
                        .getSystemService(Context.CONNECTIVITY_SERVICE);

                if (connect != null) {
                    NetworkInfo resultMobile = connect
                            .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

                    NetworkInfo resultWifi = connect
                            .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

                    if ((resultMobile != null && resultMobile
                            .isConnectedOrConnecting())
                            || (resultWifi != null && resultWifi
                                    .isConnectedOrConnecting())) {
                        return true;
                    } else {
                        return false;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            return false;
        }

将以下权限添加到清单文件

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />