android判断连接的wifi是否有网络
高洛峰
高洛峰 2017-04-17 14:40:07
0
4
595

android判断连接的wifi是否有网络。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(4)
巴扎黑

public static int getNetWorkStatus(Context context) {

雷雷
洪涛

如果只是想偵測網路是否連接,直接使用 isNetworkConnected()
如果想偵測網路連通性(是否能存取網路),則 isNetworkConnected()isNetworkOnline() 結合使用

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 1 114.114.114.114");
        int exitValue = ipProcess.waitFor();
        return (exitValue == 0);
    } catch (IOException | InterruptedException e) {
        e.printStackTrace();
    }
    return false;
}

註:114.114.114.114 可以改成你信任的網站(例如: www.baidu.com)

左手右手慢动作

個人經驗,不喜勿噴。 。 。
我從來都不管用戶是連的3G、4G還是WIFI,我也不管連上WIFI是否是真的有網,因為這都不重要。
重點在於,使用者的App能否連接到指定的伺服器而已。
So……
直接測試和伺服器的連線就好了,在沒有連網的情況下,很快就會拋出異常的。
Try catch一下就知道了。
或專門寫一個測試連線的API。

黄舟

直接寫個方法 訪問http://www.baidu.com 有資料回傳表示有網 沒資料回傳 或異常表示沒網路。 so

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板