2011-06-10 81 views
1

我想知道可以檢測Android設備的IP地址和Android客戶端名稱的代碼,以便在我們的應用程序中使用此IP地址和客戶端名稱。代碼檢測Android設備自己的IP地址?

任何人都可以幫助我請... 在此先感謝。

回答

7

這會告訴你你自己的IP地址,如果你在你的Android手機上運行它。

try{ 
     InetAddress ownIP=InetAddress.getLocalHost(); 
     System.out.println("IP of my Android := "+ownIP.getHostAddress()); 
     }catch (Exception e){ 
     System.out.println("Exception caught ="+e.getMessage()); 
     } 

如果你想知道你的廣告應用程式結合的任何客戶端的IP地址使用

Socket socket = serverSocket.accept(); // accept connection            


        System.out.println("Remote IP:"+socket.getInetAddress()); 

        System.out.println("Remote Port:"+socket.getPort());     
+0

GUD!那麼y沒有ü接受我的答案? – Harinder 2011-06-10 12:50:16

+2

它顯示迴環地址作爲主機IP .. – Mak 2011-06-13 06:45:49

4
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; 
} 
+0

參考:http://www.droidnova.com/get-the-ip-address-of-your-device,304.html – Mak 2011-08-26 08:29:07