码迷,mamicode.com
首页 > 移动开发 > 详细

Android 判断是否有外网连接

时间:2014-12-12 11:48:31      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:android开发   局域网   wifi   

      

       有时候我们连接上一个没有外网连接的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;
}


Android 判断是否有外网连接

标签:android开发   局域网   wifi   

原文地址:http://blog.csdn.net/rain_butterfly/article/details/41890877

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!