2012-02-16 117 views
1

我們正在開發聊天應用程序,我們想要獲取使用代碼連接到專用網絡的仿真器的IP地址。我們正在eclipse中開發代碼。android模擬器ip地址

回答

2
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); 
WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
int ip = wifiInfo.getIpAddress(); 
ipString = String.format( 
    "%d.%d.%d.%d", 
    (ip & 0xff), 
    (ip >> 8 & 0xff), 
    (ip >> 16 & 0xff), 
    (ip >> 24 & 0xff) 
); 

this thread。不要忘了在您的AndroidManifest中擁有INTERNET權限!

希望這會有所幫助!

+0

我們試過這個。但是我們得到了10.0.2.15.This不是我們在模擬器中設置的那個。我們已經設置了192.168.xx.xx.請幫助。預先感謝 – Tejaswini 2012-02-16 16:13:17

+0

我認爲這需要ACCESS_WIFI_STATE權限。 – guness 2012-03-30 16:18:53

2

嘗試這個代碼 -

public String getLocalIpAddress() { 
try { 
    for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { 
     NetworkInterface intf = en.nextElement(); 
     for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { 
      InetAddress inetAddress = enumIpAddr.nextElement(); 
      if (!inetAddress.isLoopbackAddress()) { 
       return inetAddress.getHostAddress().toString(); 
      } 
     } 
    } 
} catch (SocketException ex) { 
    Log.e(LOG_TAG, ex.toString()); 
} 
return null; 
} 

看看這個link

+0

我們試過這個,但是我們得到10.0.2.15.這不是我們在模擬器中設置的那個。我們已經設置了192.168.xx.xx.請幫助。預先感謝 – Tejaswini 2012-02-16 07:21:10