在Android中检查互联网连接的方法有哪些。
它们之间有什么区别?
答案 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" />
希望这会对你有所帮助。