Java代碼執行Ping命令:
import android.content.Context;import com.umeng.analytics.MobclickAgent;import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import java.nio.charset.Charset;import java.util.Map;/** * Created by Ricky on 2016/10/13. */public class PingIPUtils implements Runnable { private Context mContext; private String ipstr = ""; private Map map; private int runCount = 0; private String returnParam = ""; public PingIPUtils(String ipstr, Context mContext ,Map map){ this.mContext = mContext; this.ipstr = ipstr; this.map = map; } @Override public void run() { pingRun("www.baidu.com"); pingRun(ipstr); } public void pingRun(String address){ runCount++ ; Process process = null; try { process = Runtime.getRuntime().exec("ping -c 1 -w 5 "+address); } catch (IOException e) { System.out.println("ping Exception......"); e.printStackTrace(); } InputStreamReader r = new InputStreamReader(process.getInputStream(), Charset.forName("GBK")); LineNumberReader returnData = new LineNumberReader(r); String returnMessage=""; String line = ""; try { while ((line = returnData.readLine()) != null) { returnMessage = returnMessage + line + "\n"; } } catch (IOException e) { e.printStackTrace(); } System.out.println(returnMessage); if("".equals(returnParam)){ returnParam = "ping 地址:" + address; }else{ returnParam = returnParam + " " + "ping 地址:" + address; } String[] lines = returnMessage.split("\n"); String time; for (String line1 : lines) { if (line1.contains("time=")){ int index = line1.indexOf("time="); int end = line1.indexOf("ms") + 2; time = line1.substring(index + "time=".length(),end); returnParam = returnParam + "time: " + time; System.out.println(returnParam); }else if(line1.contains("時間=")){ int index = line1.indexOf("時間="); int end = line1.indexOf("ms") + 2; time = line1.substring(index + "時間=".length(),end); returnParam = returnParam + "時間: " + time; System.out.println(returnParam); }else{ returnParam = returnParam + line1; System.out.println(returnParam); continue; } } if(runCount >= 2){ map.put("pingIP",returnParam); MobclickAgent.onEvent(mContext , "TimeOut", map); System.out.println("最後參數:" + returnParam); } }}
開啟線程調用:
new Thread(new PingIPUtils("182.92.172.193", context , map)).start();