Android 判斷是否有外網(wǎng)連接
Android里判斷是否可以上網(wǎng),常用的是如下方法:
/** * 檢測網(wǎng)絡(luò)是否連接 * * @return */ private boolean isNetworkAvailable() { // 得到網(wǎng)絡(luò)連接信息 ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // 去進(jìn)行判斷網(wǎng)絡(luò)是否連接 if (manager.getActiveNetworkInfo() != null) { return manager.getActiveNetworkInfo().isAvailable(); } return false; }
有時候我們連接上一個沒有外網(wǎng)連接的WiFi或者有線就會出現(xiàn)這種極端的情況,目前Android SDK還不能識別這種情況,一般的解決辦法就是ping一個外網(wǎng)。
/* @author suncat * @category 判斷是否有外網(wǎng)連接(普通方法不能判斷外網(wǎng)的網(wǎng)絡(luò)是否連接,比如連接上局域網(wǎng)) * @return */ public static final boolean ping() { String result = null; try { String ip = "www.baidu.com";// ping 的地址,可以換成任何一種可靠的外網(wǎng) Process p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + ip);// ping網(wǎng)址3次 // 讀取ping的內(nèi)容,可以不加 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的狀態(tài) 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; }
相關(guān)文章
基于RxJava框架實(shí)現(xiàn)獲取驗(yàn)證碼的輔助類
這篇文章主要為大家詳細(xì)介紹了基于RxJava框架實(shí)現(xiàn)獲取驗(yàn)證碼的輔助類,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06Android View 測量流程(Measure)全面解析
這篇文章主要為大家全面解析了Android View 測量流程Measure,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02Jetpack?Compose對比React?Hooks?API相似度
這篇文章主要為大家介紹了Jetpack?Compose對比React?Hooks?API相似度,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Android 實(shí)現(xiàn)銀聯(lián)刷卡機(jī)消費(fèi)后手動簽名的功能(示例代碼)
在一些商場購物時,不需要用筆在銀聯(lián)機(jī)上簽名了,直接用手指觸摸實(shí)現(xiàn)消費(fèi)簽名,非常方便,下面小編給大家分享Android 實(shí)現(xiàn)銀聯(lián)刷卡機(jī)消費(fèi)后手動簽名的功能,需要的朋友參考下吧2017-12-12Android調(diào)用手機(jī)攝像頭拍照和錄音功能
這篇文章主要為大家詳細(xì)介紹了Android調(diào)用手機(jī)攝像頭拍照和錄音功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Android列表實(shí)現(xiàn)單選點(diǎn)擊縮放動畫效果
在android開發(fā),我們會常常使用到縮放動畫,這篇文章主要給大家介紹了關(guān)于Android列表實(shí)現(xiàn)單選點(diǎn)擊縮放動畫效果的相關(guān)資料,需要的朋友可以參考下2021-08-08