Obtenir mon adresse IP LAN (192.168.xxxx) (IPV4)

Dans mon appareil Android, j'essaie de trouver son adresse IP (IPV4).
Si je fais le code suivant

InetAddress inet = InetAddress.getLocalHost(); System.out.println(inet.getHostAddress()); //giving me 127.0.0.1 

Le code me donne 127.0.0.1.
Je voulais obtenir l'IP 198.168.xx.xx.

  • Port série Android via prise audio
  • Comment réparer "OutOfMemoryError: java heap space" lors de la compilation d'une application MonoDroid dans MonoDevelop
  • Bibliothèque NoClassDefFoundError on Calligraphy
  • Geofencing: la demande HTTP a échoué lors de l'envoi via le service arrière-plan. Donne InconnueHostException
  • Comment puis-je savoir si le sélecteur de méthode d'entrée est ouvert ou fermé?
  • Navigation sur l'évolution d'Android Afficher l'arrière-plan du menu
  • (Dans mon PC, le même code me donne l'IP réelle.)

  • Une commande de terminal pour un Android enrainé pour remonter / System comme lecture / écriture
  • Progression circulaire avec un bouton d'action flottante
  • ViewPager illimité / dynamique dans les deux sens
  • Comment supprimer l'erreur «Appel nécessite un niveau API»?
  • IntentionService: pourquoi mon onHandleIntent n'est-il jamais appelé?
  • Désactiver le zoom pincé dans WebView?
  • 2 Solutions collect form web for “Obtenir mon adresse IP LAN (192.168.xxxx) (IPV4)”

     public static String getIpAddress() { try { for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()&&inetAddress instanceof Inet4Address) { String ipAddress=inetAddress.getHostAddress().toString(); Log.e("IP address",""+ipAddress); return ipAddress; } } } } catch (SocketException ex) { Log.e("Socket exception in GetIP Address of Utilities", ex.toString()); } return null; } 

    Donnez des autorisations

    Ajoutez également dans mainfest.

     <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    Vous pouvez l'utiliser pour obtenir votre adresse IP.

     WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); int ipAddress = wifiManager.getConnectionInfo().getIpAddress(); return String.format("%d.%d.%d.%d", (ipAddress & 0xff), (ipAddress >> 8 & 0xff), (ipAddress >> 16 & 0xff), (ipAddress >> 24 & 0xff)); 

    Cela le renvoie comme une chaîne sous la forme "XXXX"

    La seule permission dont vous avez besoin dans votre manifest.xml est

     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.