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

时间:2013-07-25 05:03:09

标签: android android-wifi android-networking

正在处理需要显示热点详细信息的应用程序,包括连接到热点的设备数量

我尝试了这个,但没有奏效,

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权限 看看这个图书馆。我希望它能解决你的问题 https://github.com/nickrussler/Android-Wifi-Hotspot-Manager-Class

答案 1 :(得分:0)

您不需要 root 访问权限即可完成您要执行的操作。

就连接设备的计数而言,您可以轻松地 ping 子网上的每个可能的主机,然后对其进行计数。

这是一个开源项目,它可能会为您的新应用之旅提供一些垫脚石:) https://github.com/VREMSoftwareDevelopment/WiFiAnalyzer