0
我正在使用以下代碼掃描連接到啓用了熱點設備的WiFi設備。它幾乎檢測到所有的設備,但問題是當wifi設備從熱點斷開連接時,列表沒有被刷新(即,即使列表顯示wifi設備被斷開連接,列表也不應該顯示設備這是斷開的)。它顯示了WiFi設備在列表中,如果它連接到一次設備列表是沒有得到刷新,直到我不要關閉熱點 繼時間我的熱點設備&是我的代碼片段...Wifi設備在從熱點設備斷開連接時未從熱點列表中清除
公衆ArrayList的getClientList(布爾onlyReachables,詮釋reachableTimeout){
BufferedReader br = null;
ArrayList<ClientScanResultSO> result = null;
try {
result = new ArrayList<ClientScanResultSO>();
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)) {
// Basic sanity check
String mac = splitted[3];
System.out.println("mac is***************"+ mac);
if (mac.matches("..:..:..:..:..:..")) {
boolean isReachable = InetAddress.getByName(splitted[0]).isReachable(reachableTimeout);
String name = InetAddress.getByName(splitted[0]).getHostName();
if (!onlyReachables || isReachable) {
result.add(new ClientScanResultSO(splitted[0], splitted[3], splitted[5], isReachable, name));
}
}
}
}
} 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;
}
我想要的WiFi設備不在列表中顯示,當他們從我的Android設備是啓用熱點 有人請幫助我在斷開對此。 謝謝!
「的/ proc /淨/ ARP」 ---這個擁有用於地址解析內核ARP表的ASCII可讀轉儲。它將顯示動態學習和預先編程的ARP條目。格式是:「IP地址」「硬件類型」「標誌」「硬件地址」「掩碼」「設備」....分開這些東西我正在使用拆分 –