код для определения собственного IP-адреса Android-устройства? - PullRequest
1 голос
/ 10 июня 2011

Я хочу знать о коде, который может определять IP-адрес и имя клиента Android устройства Android, чтобы использовать этот IP-адрес и имя клиента в нашем приложении.

Может ли кто-нибудь помочь мне, пожалуйста ... Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 10 июня 2011

Это скажет вам ваш собственный IP Andress, если вы запустите это на своем телефоне 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());                
4 голосов
/ 26 августа 2011
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;
}
...