国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 判斷是否有外網連接

2020-04-11 10:48:23
字體:
來源:轉載
供稿:網友

Android里判斷是否可以上網,常用的是如下方法:

/** * 檢測網絡是否連接 *  * @return */private boolean isNetworkAvailable() {  // 得到網絡連接信息  ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  // 去進行判斷網絡是否連接  if (manager.getActiveNetworkInfo() != null) {    return manager.getActiveNetworkInfo().isAvailable();  }  return false;}

有時候我們連接上一個沒有外網連接的WiFi或者有線就會出現這種極端的情況,目前Android SDK還不能識別這種情況,一般的解決辦法就是ping一個外網。

/* @author suncat * @category 判斷是否有外網連接(普通方法不能判斷外網的網絡是否連接,比如連接上局域網) * @return */ public static final boolean ping() {   String result = null;   try {       String ip = "www.baidu.com";// ping 的地址,可以換成任何一種可靠的外網       Process p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + ip);// ping網址3次       // 讀取ping的內容,可以不加       InputStream input = p.getInputStream();       BufferedReader in = new BufferedReader(new InputStreamReader(input));       StringBuffer stringBuffer = new StringBuffer();       String content = "";       while ((content = in.readLine()) != null) {           stringBuffer.append(content);       }       Log.d("------ping-----", "result content : " + stringBuffer.toString());       // ping的狀態       int status = p.waitFor();       if (status == 0) {           result = "success";           return true;       } else {           result = "failed";       }   } catch (IOException e) {       result = "IOException";   } catch (InterruptedException e) {       result = "InterruptedException";   } finally {       Log.d("----result---", "result = " + result);   }   return false;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旌德县| 青河县| 宣威市| 陇西县| 克东县| 嘉义县| 乌兰浩特市| 辉南县| 丹阳市| 富宁县| 青河县| 卓资县| 资溪县| 综艺| 建始县| 永年县| 饶阳县| 侯马市| 新昌县| 穆棱市| 交口县| 松潘县| 安陆市| 曲周县| 深圳市| 新沂市| 星座| 包头市| 大关县| 阿克陶县| 赤壁市| 万盛区| 濉溪县| 博兴县| 油尖旺区| 海伦市| 绥棱县| 宁南县| 涟源市| 鄂托克旗| 白玉县|