Я хочу определить подключение к моей точке доступа. Я хочу получать уведомления, когда пользователи подключены. Я знаю, что могу запросить arp table (/ proc/net/arp), из которого я могу найти подключенных пользователей. Вот пример кода:получать уведомления, когда пользователи подключили точку доступа WIFI
public static ArrayList<ClientScanResult> getClientList() {
BufferedReader br = null;
ArrayList<ClientScanResult> result = null;
try {
result = new ArrayList<ClientScanResult>();
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
Log.d("Debug:line=", line);
if ((splitted != null) && (splitted.length >= 4)) {
// Basic sanity check
String mac = splitted[3];
if (mac.matches("..:..:..:..:..:..")) {
result.add(new ClientScanResult(splitted[0], splitted[3], splitted[5]));
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
Вопрос: Есть ли лучший способ сделать это, кроме просмотра АРП-таблицы каждые п секунд?
UPD: При подключении к точке доступа, а затем отключить, то запись будет по-прежнему находиться в АРП-table.That есть, пока я не могу получить список всех подключенных пользователей
Разрешение штата Wifi в манифесте – Boopathi
@Boopathi. Да. Он был там – cska631
дал разрешение на Wi-Fi в вашей заявке – Boopathi