转自:http://blog.csdn.net/beijingshi1/article/details/9119297
最近开发一个项目,遇到一个问题,在手机开启热点的情况下,想要获取是哪个设备已经连接上了android手机开启的热点。
经过google,baidu ,最终没有找到答案。
最后想起在国外论坛下载了一个AP Demo,看了看源码,最终找到了可解决问题的方法。
如下:此方法肯定是熟知linux开发者想到的办法,用re文件管理器去"/proc/net/arp",进去一看,发现连接上热点的设备信息都在这里了,包括mac ip等
private ArrayList<String> getConnectedIP() {
ArrayList<String> connectedIP = new ArrayList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader(
"/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null && splitted.length >= 4) {
String ip = splitted[0];
connectedIP.add(ip);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return connectedIP;
}
调用方法:
ArrayList<String> connectedIP = getConnectedIP();
resultList = new StringBuilder();
for (String ip : connectedIP) {
resultList.append(ip);
resultList.append("\n");
}
System.out.print(resultList);
over~~~~