如何在热点(AP)中以编程方式获取已连接设备的数量 [Android]

5
我正在开发一个应用程序,需要展示热点详细信息,包括连接到热点的设备数量。 我尝试过以下代码,但无效。
private int countNumMac()
    {
        int macCount =0;
        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader("/proc/net/arp"));
            String line;

            System.out.println(br.toString());
            while ((line = br.readLine()) != null) {

                String[] splitted = line.split(" +");
                System.out.println("splitted :"+splitted);

                if (splitted != null && splitted.length >= 4) {
                    // Basic sanity check
                    String mac = splitted[3];
                    if (mac.matches("..:..:..:..:..:..")) {
                        macCount++;
                    } 
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if(macCount == 0)
            return 0;
        else
            return macCount-1; 
    }

有其他方法可以统计连接到热点的设备数量吗?
2个回答

0

0

您不需要 root 访问权限来完成您想要做的事情。

至于计算连接设备,您可以轻松地对子网上的每个可能的主机进行 ping 测试,然后计数。

这里有一个开源项目,可能会为您的新应用程序之旅提供一些启示 :) https://github.com/VREMSoftwareDevelopment/WiFiAnalyzer


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接