2012-02-06 8 views
0

上でDHCP情報を取得する:カントは、私はNexus Oneの上のAndroid 4.0.3に取り組んでこのコードを持っているアンドロイド2.2

WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE); 
     DhcpInfo info = wifi.getDhcpInfo(); 
     String s_gateway = String.valueOf(info.gateway); 
     String gatewayString = intToIp(Integer.parseInt(s_gateway)); 
     Log.d("DHCP Info: ", s_gateway+""); 
     Log.d("DHCP Info: ", gatewayString+""); 

それは私に正しくゲートウェイ(PC + Connectify)を返します。

しかし、Android 2.2の同じコードは0.0.0.0を返します。なにが問題ですか?

答えて

1

私はそれを修正方法:

private String intToIp(int i) { 
    return (i & 0xFF) + "." + 
     ((i >> 8) & 0xFF) + "." + 
     ((i >> 16) & 0xFF) + ".1";// + 
     //((i >> 24) & 0xFF); 
} 

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); 
    WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
    int ipAddress = wifiInfo.getIpAddress(); 
    gatewayString = intToIp(ipAddress); 
関連する問題