2012-06-06 2 views
0

Я разрабатываю приложение для Android и один из видов деятельности показывает список IPconfig. Я использую следующий код для получения информации:Получить информацию о IPconfig android

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

В эмуляторе я получаю следующее:

DNS1:0 
DNS2:0 
Default gateway:0 
IP address:0 
Lease time:0 
Subnet mask:-1 
Server IP:0 

Однако, когда я протестировать APK на моей вкладке Galaxy GT-P1000 я получаю следующие:

DNS1:16820416 
DNS2:0 
Default gateway:16820416 
IP address:33597632 
Lease time:86400 
Subnet mask:16777215 
Server IP:16820416 

Что я делаю неправильно?

Спасибо.

+0

Как это сделать? - im довольно новый для java + android –

+0

Это StackExchange related: http://stackoverflow.com/faq#reputation – nhaarman

+0

На ваш вопрос? поддерживает ли эмулятор Wi-Fi? Я сомневаюсь, что вы не получите эту информацию. на эмуляторе. –

ответ

0

Все эти члены dnsinfo являются IP-адресом, и они используют int для хранения адреса. Вам придется преобразовать его в строку. Путь ленивого человека:

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

Спасибо, как мне это реализовать? –

+0

Код выше - это реализация. – Nick

+0

Где я могу это поставить? –

Смежные вопросы