代码检测Android设备自己的IP地址?

时间:2011-06-10 11:45:14

标签: android ip

我想知道可以检测Android设备的IP地址和Android客户端名称的代码,以便在我们的应用程序中使用此IP地址和客户端名称。

任何人都可以帮助我... 在此先感谢。

2 个答案:

答案 0 :(得分:7)

如果您在Android手机上运行此地址,则会告诉您自己的IP地址。

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

答案 1 :(得分: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;
}