【发布时间】:2020-06-09 23:05:47
【问题描述】:
在 Android 中,
如何获取同一WiFi网络中连接的设备列表?
如何从连接到同一 WiFi 网络的智能手机中获取最近的设备?
频率检查是否能够找到最近的设备?
【问题讨论】:
标签: android
在 Android 中,
如何获取同一WiFi网络中连接的设备列表?
如何从连接到同一 WiFi 网络的智能手机中获取最近的设备?
频率检查是否能够找到最近的设备?
【问题讨论】:
标签: android
我找到了连接在同一网络中的设备列表的解决方案,并将代码放在下面
在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;
}
如有任何澄清,请回复此帖子的消息, 谢谢
【讨论】: