У вас есть данные клиента в системном файле:/Proc/нетто/агр Вам потребуется разрешение External Storage.
файла Пример содержания:
IP address HW type Flags HW address Mask Device
192.168.43.40 0x1 0x2 c0:ee:fb:43:e9:f8 * wlan0
Вы должны разобрать файл и получить данные.
Например, вы можете попробовать что-то вроде этого:
public ArrayList<String> getClientList() {
ArrayList<String> clientList = new ArrayList<>();
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] clientInfo = line.split(" +");
String mac = clientInfo[3];
if (mac.matches("..:..:..:..:..:..")) { // To make sure its not the title
clientList.add(clientInfo[0]);
}
}
} catch (java.io.IOException aE) {
aE.printStackTrace();
return null;
}
return clientList;
}
*** Испытано на коренится устройстве.