0

ルーターによって割り当てられたすべてのデバイスの IP アドレスと MAC アドレスのリストを取得したいので、ルーターにクエリを実行して、Android で Java を使用して「Dhcp 情報」を検索します。

4

3 に答える 3

0

@VikramGiri Android でリース期間を取得するには、次を試してください。

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
wifiManager.getDhcpInfo().leaseDuration;

これは、ルーターがDHCPを使用している場合に機能します。使用されている静的IP アドレスの場合、上記のコードは、リース期間を表すミリ秒単位の数値ではなく、常にゼロを返します。

このDhcpInfoクラスは、DNS アドレス、IP アドレス、ゲートウェイ、ネットマスクなど、興味のある他のフィールドも提供します。詳細については、こちらを参照してください。

あなたはここにいるのは初めてなので、答えが正しい場合は忘れずにチェックを入れてください。そうすれば、将来あなたの投稿を読んだ人は、与えられた答えが正しいことを知ることができます...

于 2013-10-21T12:47:30.330 に答える
0

異なるルーターは異なる API を提供します。割り当てられたアドレスに従って、すべての IP アドレスに ping クエリのようなものを送信することをお勧めします。たとえば、IP が 192.168.0.18 の場合、すべての IP 192.168.0.1 ~ 192.168.0.255 に対して ping を実行します。

于 2013-10-21T11:59:59.710 に答える
0

このアプリも同じことをしていると思います。彼 (アプリの開発者) も Web ページを解析して情報を取得しているようです。
上記のアプリの Play ストアの画像では、ルーターの Web ページ全体を表示し、同じページを解析して情報を取得していることがわかります。アプリ
のスクリーンショット#2 をご覧ください。

于 2013-10-21T13:03:54.693 に答える