Android獲取移動設備IP地址

jopen 10年前發布 | 41K 次閱讀 Android Android開發 移動開發

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;  
        }  
    }  


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>  
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!