如何以编程方式显示连接到android热点的设备的IP地址?

时间:2016-11-27 12:07:34

标签: java android wifi hotspot

我需要在应用程序中显示连接到android热点的设备的IP地址。

请帮帮我

1 个答案:

答案 0 :(得分:2)

您在系统文件中有客户端信息:/ proc / net / arp 您将需要外部存储权限。

文件内容示例:

IP address       HW type     Flags       HW address            Mask     Device 
192.168.43.40    0x1         0x2         c0:ee:fb:43:e9:f8     *        wlan0

你应该解析文件并获取数据。

例如,您可以尝试这样的事情:

public ArrayList<String> getClientList() {
    ArrayList<String> clientList = new ArrayList<>();
    BufferedReader br = null;
    try {
        br = new BufferedReader(new FileReader("/proc/net/arp"));
        String line;
        while ((line = br.readLine()) != null) {
            String[] clientInfo = line.split(" +");
            String mac = clientInfo[3];
            if (mac.matches("..:..:..:..:..:..")) { // To make sure its not the title
                clientList.add(clientInfo[0]);
            }
        }
    } catch (java.io.IOException aE) {
        aE.printStackTrace();
        return null;
    }
    return clientList;
}

***在root设备上测试过。