zoukankan      html  css  js  c++  java
  • PingUtil in Android

    Ping a host in Android:
    “ping -c 1 127.0.0.1”
    -c 1: The ping times.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    boolean flag = false;
    Runtime run = Runtime.getRuntime();
    Process proc = null;
    try {
    	proc = run.exec("ping -c 1 127.0.0.1");
    	int result = proc.waitFor();
    	if (result == 0) {
    		flag = true;
    	} else {
    		flag = false;
    	}
    } catch (IOException e) {
    	e.printStackTrace();
    } catch (InterruptedException e) {
    	e.printStackTrace();
    } finally {
    	proc.destroy();
    }
    

    Ping codes is simple, but:
    1, you must run it in background thread since Process.waitfor() will blocks current thread.
    2, And you should control the the execution time for Process.waitfor().

    The solutions of above 2 issues could be:
    1, AsyncTask to run Process.waitfor() in background;
    2, Handler.sendEmptyMessageDelayed() to send a delayed message which cancel the AsyncTask if the background codes running too long time.

    Codes in Github.

  • 相关阅读:
    hdu 1232 最小生成树
    hdu 1260 dp
    hdu 1385 最短路径按字典数输出
    hdu 1541 树状数组
    hdu 1544 求字符串回文
    hdu 1728
    hdu 1754 树状数组求最大值
    hdu 1892 二维树状数组
    hdu 2082 母函数
    循环
  • 原文地址:https://www.cnblogs.com/mosthink/p/5288924.html
Copyright © 2011-2022 走看看