以编程方式获取网关和子网掩码详细信息
如何在 Android 中获取网关和子网掩码详细信息?
How can I get gateway and subnet mask details in Android?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在 Android 中获取网关和子网掩码详细信息?
How can I get gateway and subnet mask details in Android?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
我在
android.net
包中找到了一个名为DhcpInfo
的类。它有一些公共变量存储当前网络参数的值。但问题是它们返回的是从 8 位移位二进制转换而来的整数值。描述场景的示例图像:
****这里是示例代码:**
**java 文件:****
xml 编码:
我尝试将整数值转换为其等效值,但我做不到。如果你这样做,你可以发回来..再见..
更新:一些如何设法将IP从整数形式转换为v4格式
转换为 IPv4 格式:
图片提供:http://www.bennadel.com/blog/1830-Converting-IP-Addresses-To-And-From-Integer-Values-With-ColdFusion.htm
I have found a class called
DhcpInfo
within theandroid.net
package. It has some public variables that stores the values of current Network parameters. But the problem is they return the value in integer converted from 8Bit shifted binary.Sample Image Describing thee Scenario:
****Here is a sample code:**
**java file:****
xml Coding:
I tried converting the integer value to its equivalent but i couldn't. If you do so you can post back.. Bye..
UPDATE: Some how managed to convert the IP to v4 Format from the integer form
Conversion to IPv4 Format:
IMAGE Courtesy: http://www.bennadel.com/blog/1830-Converting-IP-Addresses-To-And-From-Integer-Values-With-ColdFusion.htm
Formatter.formatIpAddress(int) 已被弃用,我们不想使用已弃用的方法,不是吗?
AndroidKid 的版本在某种程度上是相反的,但这应该可以修复它:
来源:
Formatter.formatIpAddress(int) is deprecated, and we dont want to use deprecated methods do we?
AndroidKid's version of this is somehow reversed, but this should fix it:
Source: http://www.devdaily.com/java/jwarehouse/android/core/java/android/net/DhcpInfo.java.shtml
要格式化 ip,请尝试使用:
to format the ip, try using:
这是一个旧线程,但我找到了android API使用的官方函数(包
android.net.NetworkUtils
):一旦你有了
InetAddress
,你就可以获得格式化的字符串这样:intToInetAddress(d.gateway).getHostAddress()
This is an old Thread, but I found the official function used by android API (package
android.net.NetworkUtils
):And once you have
InetAddress
you can get the formatted String this way:intToInetAddress(d.gateway).getHostAddress()
使用
Formatter.formatIpAddress(mask);
mask是你的int。Use
Formatter.formatIpAddress(mask);
mask is your int.此版本适用于任何网络(Wifi/Cell)。返回 V4 和 V6。
This version works with any Network (Wifi/Cell). Returns V4 and V6.
不要获取 255.255.255.0,只需更改返回的顺序即可;)这样您将能够获得正确的顺序...
Instead of getting 255.255.255.0, just change the order in return ;) So you will be able to get in the right order...
虽然老了,但仍然有魅力。
tvGateway.setText(Formatter.formatIpAddress(dhcpInfo.gateway));
Although old, works like a charm.
tvGateway.setText(Formatter.formatIpAddress(dhcpInfo.gateway));