如何准确地扫描所有设备的IP和Mac地址 连接到Android中的wifi?
嗨,我正在尝试从Android找到连接到我的WIFI路由器的所有设备,我需要设备Mac地址和每个设备的本地IP地址(包括iOT设备),现在,我正在尝试从ARP缓存表中查找。但是在扫描的某些时候,某些设备丢失了,它并不那么准确。
我的代码 :
 List<LocalDeviceInfo> devicesInfos = new ArrayList<>();
        BufferedReader bufferedReader = null;
        try {
            bufferedReader = new BufferedReader(new FileReader("/proc/net/arp"));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                String[] splitted = line.split(" +");
                if (splitted != null && splitted.length >= 4) {
                    String ip = splitted[0];
                    String mac = splitted[3];
                    if (mac.matches("..:..:..:..:..:..")) {
                        LocalDeviceInfo thisNode = new LocalDeviceInfo(ip, mac);
                        devicesInfos.add(thisNode);
                    }
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            try {
                bufferedReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        // Print Description
        for (LocalDeviceInfo devicesInfo :devicesInfos)
        {
            System.out.print("✅");
            System.out.println("IP : "+devicesInfo.getIp());
            System.out.println("Mac : "+devicesInfo.getMacAddress());
        }
如何准确地扫描Android中的所有设备(IP地址和Mac地址)。