若是只是想检测网络是否链接,则直接使用 isNetworkConnected()
若是想检测网络连通性(是否能访问网络),则 isNetworkConnected() 与 isNetworkOnline() 结合使用。
markdown
private boolean isNetworkConnected() { ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); return (networkInfo != null && networkInfo.isConnected()); } public boolean isNetworkOnline() { Runtime runtime = Runtime.getRuntime(); try { Process ipProcess = runtime.exec("ping -c 3 www.baidu.com"); int exitValue = ipProcess.waitFor(); Log.i("Avalible", "Process:"+exitValue); return (exitValue == 0); } catch (IOException | InterruptedException e) { e.printStackTrace(); } return false; }