Java 获取IPconfig信息

Java 获取IPconfig信息,java,android,networking,Java,Android,Networking,我正在开发一个android应用程序,其中一个活动显示了一个IPconfig列表。我使用以下代码获取信息: public String s_dns1 ; public String s_dns2; public String s_gateway; public String s_ipAddress; public String s_leaseDuration; public String s_netma

我正在开发一个android应用程序,其中一个活动显示了一个IPconfig列表。我使用以下代码获取信息:

public String   s_dns1 ;
    public String   s_dns2;     
    public String   s_gateway;  
    public String   s_ipAddress;    
    public String   s_leaseDuration;    
    public String   s_netmask;  
    public String   s_serverAddress;
    DhcpInfo d;
    WifiManager wifii;

 wifii= (WifiManager) getSystemService(Context.WIFI_SERVICE);
        d=wifii.getDhcpInfo();
        s_dns1="DNS 1: "+String.valueOf(d.dns1);
        s_dns2="DNS 2: "+String.valueOf(d.dns2);    
        s_gateway="Default Gateway: "+String.valueOf(d.gateway);    
        s_ipAddress="IP Address: "+String.valueOf(d.ipAddress); 
        s_leaseDuration="Lease Time: "+String.valueOf(d.leaseDuration);     
        s_netmask="Subnet Mask: "+String.valueOf(d.netmask);    
        s_serverAddress="Server IP: "+String.valueOf(d.serverAddress);

        info= (TextView) findViewById(R.id.info1);
        info.setText("\n"+s_dns1+"\n"+s_dns2+"\n"+s_gateway+"\n"+s_ipAddress+"\n"+s_leaseDuration+"\n"+s_netmask+"\n"+s_serverAddress);
在emulator中,我得到以下信息:

DNS1:0
DNS2:0
Default gateway:0
IP address:0
Lease time:0
Subnet mask:-1
Server IP:0
DNS1:16820416
DNS2:0
Default gateway:16820416
IP address:33597632
Lease time:86400
Subnet mask:16777215
Server IP:16820416
但是,当我在Galaxy选项卡GT-P1000上测试APK时,我得到以下结果:

DNS1:0
DNS2:0
Default gateway:0
IP address:0
Lease time:0
Subnet mask:-1
Server IP:0
DNS1:16820416
DNS2:0
Default gateway:16820416
IP address:33597632
Lease time:86400
Subnet mask:16777215
Server IP:16820416
我做错了什么


谢谢。

所有这些dnsinfo成员都是IP地址,他们使用int来存储地址。您必须将其转换为字符串。 懒人之道:

byte[] ba = BigInteger.valueOf(ip).toByteArray();
InetAddress address = InetAddress.getByAddress(ba);
String s = address.toString();

我该怎么做我对java+androidIt的StackExchange很陌生:你有什么问题?emulator支持wifi服务吗?我怀疑。。所以你不会得到这些信息。在emulator上。否,当我在Galaxy选项卡上测试时,它得出以下结论:DNS1:16820416 DNS2:0默认网关:16820416 IP地址:33597632租赁时间:86400子网掩码:16777215服务器IP:16820416@AlexOGden不,它实际上似乎给出了看似正确的数字,而你没有以你习惯的形式显示这些数字。至于模拟器,上次我检查它是“模拟”3g连接,而不是wifi连接。谢谢,我该如何实现这一点?这就是你将d.dns1解码为s_dns1的方式。它将存储为int的IP转换为字符串。