若是隻是想檢測網絡是否鏈接,則直接使用 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; }