如何在 Android Studio 中获取 ping(在 LAN 1 到 255 中)

How to get ping (in LAN 1 to 255) in Android Studio

我想从 LAN 获取 ping 以查看我的 LAN 上有哪些设备。

这是我的代码:

TextView info = (TextView) findViewById(R.id.info);
    String alive = "";
    for (int i = 0; i < 256; i++) {
        Process p = Runtime.getRuntime().exec("/system/bin/ping -c 1 192.168.1." + i);
        info.setText("");
        int status = p.waitFor();
        if (status == 0) {
            alive = alive + " - " + i;
            Log.d("Hey", i+"");
        }

这段代码工作正常,但这个过程非常耗时。

您正在等待每个 ping 进程完成,然后再开始下一个。

相反,您应该一次对每个 ping 创建一个 List<Process>,然后在启动所有这些之后等待它们在单独的循环中完成。