-2

アプリで Android ホットスポットに接続されているデバイスの IP アドレスを表示する必要があります。

私を助けてください

4

1 に答える 1

2

システム ファイルにクライアント情報があります: /proc/net/arp 外部ストレージのアクセス許可が必要です。

ファイル内容の例:

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;
}

***ルート化されたデバイスでテスト済み。

于 2016-11-27T12:27:45.607 に答える