首页 > 怎么检测当前网络是否可以使用?

怎么检测当前网络是否可以使用?

网上找了好久,好多网络用的ping方法去检测网络是否可以使用。当不知道怎么回事,在自己的程序里面,不管网络是否可以使用,返回值都是2。
在这里想问问,怎么解决这个问题哈!谢谢!!


开一个socket,connect一下


可以看下我的博客这篇文章,不但可以检测是否联网,还可以判断是3G网络还是wifi,有点儿早了,不能检测4G网络
Android判断设备网络连接状态,并判断连接方式


其实直接http打开一个常用网址,比如百度或者QQ,是比较简单的检查方法


直接获取当然ip也是个办法


在手机安装一个网络调试的应用,应用会有pingnslookup等功能的。


public class CheckNetwork {
// 判断网络设置,如果没有网络,进入网络开启页面
public static void checkNetwork(final Context content) {
if (!isNetWork(content)) {

        TextView text = new TextView(content);
        text.setText("请开启GPRS或WIFI网络连接");
        new AlertDialog.Builder(content)
                .setTitle("网络状态提示")
                .setPositiveButton("确定",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                content.startActivity(new Intent(
                                        Settings.ACTION_WIRELESS_SETTINGS));
                            }
                        }).create().show();
    }

}

// 判断网络是否连接
public static Boolean isNetWork(Context context) {
    // 获得网络状态管理器
    ConnectivityManager conn = (ConnectivityManager) context
            .getSystemService(context.CONNECTIVITY_SERVICE);
    if (conn == null) {
        return false;
    } else {
        NetworkInfo netinfo[] = conn.getAllNetworkInfo();
        if (netinfo != null) {
            for (NetworkInfo net : netinfo) {
                if (net.getState() == NetworkInfo.State.CONNECTED) {
                    return true;

                }
            }

        }

    }
    return false;

}

}

【热门文章】
【热门文章】