Android获取移动设备IP地址

jopen 5年前

MainActivity如下:

    package cn.testip;        import java.net.InetAddress;        import java.net.NetworkInterface;        import java.net.SocketException;        import java.util.Enumeration;        import android.os.Bundle;        import android.app.Activity;        /**        * Demo描述:        * 获取移动设备的IP地址        */        public class MainActivity extends Activity {            @Override            protected void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);                setContentView(R.layout.main);                String IP=getIP();                System.out.println("The IP of this handset is : "+IP);            }                        private String getIP() {                String IP = null;                StringBuilder IPStringBuilder = new StringBuilder();                try {                    Enumeration<NetworkInterface> networkInterfaceEnumeration = NetworkInterface.getNetworkInterfaces();                    while (networkInterfaceEnumeration.hasMoreElements()) {                        NetworkInterface networkInterface = networkInterfaceEnumeration.nextElement();                        Enumeration<InetAddress> inetAddressEnumeration = networkInterface.getInetAddresses();                        while (inetAddressEnumeration.hasMoreElements()) {                            InetAddress inetAddress = inetAddressEnumeration.nextElement();                            if (!inetAddress.isLoopbackAddress()&&                                 !inetAddress.isLinkLocalAddress()&&                                  inetAddress.isSiteLocalAddress()) {                                 IPStringBuilder.append(inetAddress.getHostAddress().toString()+"\n");                            }                        }                    }                } catch (SocketException ex) {                        }                        IP = IPStringBuilder.toString();                return IP;            }        }  
</div> </div>


main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"        xmlns:tools="http://schemas.android.com/tools"        android:layout_width="match_parent"        android:layout_height="match_parent"         >            <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="获取设备的IP"             android:layout_centerInParent="true"            android:textSize="28sp"        />        </RelativeLayout>  
</div> </div>