如何从代码中找到路由器的IP地址(网关地址)?
WifiInfo.getIpAddress()
- 返回设备的 IP 地址。
在 shell 命令中 “ipconfig” 不返回任何值。
这是我的解决方案,但如果有更好的方法,请告诉我:
WifiManager manager = (WifiManager)getSystemService(WIFI_SERVICE);
DhcpInfo info = manager.getDhcpInfo();
info.gateway;
最佳答案
嘿,这可能对你有帮助:DHCPInfo
final WifiManager manager = (WifiManager) super.getSystemService(WIFI_SERVICE);
final DhcpInfo dhcp = manager.getDhcpInfo();
final String address = Formatter.formatIpAddress(dhcp.gateway);
将以下行添加到 AndroidManifest.xml 以访问 wifi 功能:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
由于不推荐使用 formatIpAddress,现在您可以使用以下代码
byte[] myIPAddress = BigInteger.valueOf(manager.getIpAddress()).toByteArray();
ArrayUtils.reverse(myIPAddress);
InetAddress myInetIP = InetAddress.getByAddress(myIPAddress);
String myIP = myInetIP.getHostAddress();
关于android - 如何从android中的代码知道路由器的IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9035784/