获取在同一个Android网络中连接的所有设备的列表?

时间:2016-03-17 06:43:47

标签: android

嗨感谢您查看问题,

在Android中,

1.如何获取连接在同一WiFi网络中的设备列表?

2.如何从智能手机连接相同WiFi网络的最近设备?

3.Did频率检查能否找到最近的设备?

1 个答案:

答案 0 :(得分:0)

我找到了连接在同一网络中的设备列表的解决方案,我将代码放在

下面

在onCreate中调用此方法 - > getClientList(true,200);

在我们的课程中写下这个方法

  public ArrayList<ClientScanResult> getClientList(boolean onlyReachables, int reachableTimeout) {
    BufferedReader br = null;
    ArrayList<ClientScanResult> result = null;
    try {
        result = new ArrayList<ClientScanResult>();
        br = new BufferedReader(new FileReader("/proc/net/arp"));
        String line;
        int i = 0;
        while ((line = br.readLine()) != null) {
            String[] splitted = line.split(" +");
            if ((splitted != null) && (splitted.length >= 4)) {
                String mac = splitted[3];
                if (mac.matches("..:..:..:..:..:..")) {
                    boolean isReachable = InetAddress.getByName(splitted[0]).isReachable(reachableTimeout);

                    if (!onlyReachables || isReachable) {
                        result.add(new ClientScanResult(splitted[0], splitted[3], splitted[5], isReachable));
                        i++;
                    }
                }
            }
        }
    } catch (Exception e) {
        Log.e(this.getClass().toString(), e.getMessage());
    } finally {
        try {
            br.close();
        } catch (IOException e) {
            Log.e(this.getClass().toString(), e.getMessage());
        }
    }
    return result;
}

如有任何澄清,请回复此帖的留言, 致谢