android ping检测网络连接,Android:Ping命令测试网络

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import android.app.Activity;

import android.os.AsyncTask;

import android.os.Bundle;

import android.util.Log;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

new NetPing().execute();

}

public String Ping(String str) {

String resault = "";

Process p;

try {

//ping -c 3 -w 100 中 ,-c 是指ping的次数 3是指ping 3次 ,-w 100 以秒为单位指定超时间隔,是指超时时间为100秒

p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + str);

int status = p.waitFor();

InputStream input = p.getInputStream();

BufferedReader in = new BufferedReader(new InputStreamReader(input));

StringBuffer buffer = new StringBuffer();

String line = "";

while ((line = in.readLine()) != null){

buffer.append(line);

}

System.out.println("Return ============" + buffer.toString());

if (status == 0) {

resault = "success";

} else {

resault = "faild";

}

} catch (IOException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

return resault;

}

private class NetPing extends AsyncTask {

@Override

protected String doInBackground(String... params) {

String s = "";

s = Ping("www.baidu.com");

Log.i("ping", s);

return s;

}

}

}

!!!别忘了加访问网络权限!!!

下面是运行截图:

0818b9ca8b590ca3270a3433284dd417.png

如果对 运行结果中的  PING www.a.shifen.com (61.135.169.125) 感到怀疑,那么可以试一下 61.135.169.125 就是百度的网址。

suceess则表示连接成功

如果当前没有连接网络,return 会是 空的 ,结果会是 faild。

如果ping的网址是不存在的,而且还连接着网络,那么程序就会 停在

int status = p.waitFor();

这里,不再向下运行。

Ping远程IP    

这一命令可以检测本机能否正常访问Internet。比如本地电信运营商的IP地址为:202.101.224.69。在MS-DOS方式下执行命令:Ping 202.101.224.69,如果屏幕显示:

C:\Documents and Settings\Administrator>ping 202.101.224.69

Pinging 202.101.224.69 with 32 bytes of data:

Reply from 202.101.224.69: bytes=32 time=2ms TTL=250

Reply from 202.101.224.69: bytes=32 time=2ms TTL=250

Reply from 202.101.224.69: bytes=32 time=3ms TTL=250

Reply from 202.101.224.69: bytes=32 time=2ms TTL=250

Ping statistics for 202.101.224.69:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),  Approximate round trip times in milli-seconds:

Minimum = 2ms, Maximum = 3ms, Average = 2ms

则表明运行正常,能够正常接入互联网。反之,则表明主机文件(windows/host)存在问题。

不过不好意思,我给那位的评论写错了。