获取我的LAN IP地址(192.168.xxxx)(IPV4)

Vis*_*v K 15 java android inetaddress

在我的Android设备中,我试图找到它的IP地址(IPV4).
如果我执行以下代码

InetAddress inet = InetAddress.getLocalHost();
System.out.println(inet.getHostAddress()); //giving me 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

代码给了我127.0.0.1.
我想得到实际的IP 198.168.xx.xx.

(在我的电脑中,相同的代码虽然给了我实际的IP.)

Ayu*_*ush 25

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; 
    }
Run Code Online (Sandbox Code Playgroud)

授予权限

还要添加mainfest.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)