如何在Android中检查互联网连接?

时间:2014-12-23 12:34:23

标签: java android

在Android中检查互联网连接的方法有哪些。

它们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

创建如下方法。

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) {
                        return true;
                    }

        }
        return false;
    }

并在任何地方调用它。将其置于 IF - ELSE 条件中,以便检查连接。

或者如果你想在整个项目中调用这个方法,那么你可以创建一个静态类,如下所示。

public class ConnectivityDetector {

    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) {
                        return true;
                    }

        }
        return false;
    }
}

并在每个类别中将其称为如下所示的代码。

if (ConnectivityDetector.isConnectingToInternet(Test.this)) {
         // do your stuff
} else {
         // Alert dialog that says, No Internet connection 
}

还要确保您具有监控网络状态所需的权限。您需要将此权限添加到AndroidManifest.xml:

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

希望这会对你有所帮助。