android獲取連線到手機熱點上的裝置的資訊
最近開發一個專案,遇到一個問題,在手機開啟熱點的情況下,想要獲取是哪個裝置已經連線上了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~~~~