Androidstudio:cheking internet,而设备连接到慢速互联网它冻结

时间:2016-09-10 08:07:51

标签: android android-studio connection

我正在尝试检查androidstudio中的互联网连接。 但是我从网站上找到的所有代码对我都没用。我在网站上找到的原因代码是在没有连接的情况下工作的。但是当设备连接到互联网时速度很慢,它会冻结或经过很长一段时间后才能完成其检查。那么无论如何都要设置cheking连接的时间限制。有人有任何线索吗?感谢。

public boolean isInternetAvailable() {

    try {
        InetAddress ipAddr = InetAddress.getByName("google.com"); //You can replace it with your name
        return !ipAddr.equals("");

    } catch (Exception e) {
        return false;
    }

}

我尝试了这个,但它没有用,我的程序再次冻结。

2 个答案:

答案 0 :(得分:0)

问题有点模糊,但试试这个

private boolean isConnectedToInternet() {
        ConnectivityManager connectivity = (ConnectivityManager) getApplicationContext().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;
    }

检查所有互联网连接;无线,有线,来自ISP的数据

答案 1 :(得分:0)

试试这个......

// NETWORK AND CONNECTIVITY CHECK METHOD
public static boolean isNetworkAvailable (Context context) {
    try {
        ConnectivityManager connectionManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo netowrkInfo = connectionManager.getActiveNetworkInfo();

        return netowrkInfo != null && netowrkInfo.isConnected();
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}

可能有帮助......