[Android] Android 學習筆記:取得手機目前所有可用的網路介面與 IP

[Android] Android 學習筆記:取得手機目前所有可用的網路介面與 IP

最近有個程式需求,要顯示手機上所有的 IP address~

這東西可以用 NetworkInterfaceInetAddress 來取得~

 

下面的程式可以將所有的網路介面和其關聯的 IP address 都顯示出來:

public String getPhoneIPAddrs()
{
    String sAddr = “”;
   
    try
    {
        for (Enumeration<NetworkInterface> enumInterfaces = NetworkInterface.getNetworkInterfaces(); enumInterfaces.hasMoreElements(); )
        {
            // Get next network interface
            NetworkInterface interface = enumInterfaces.nextElement();
           
            for (Enumeration<InetAddress> enumIPAddrs = interface.getInetAddresses(); enumIPAddrs.hasMoreElements(); )
            {
                // Get next IP address of this interface
                InetAddress inetAddr = enumIPAddrs.nextElement();
               
                // Exclude loopback address
                if (!inetAddr.isLoopbackAddress())
                {
                    if (sAddr != “”)
                    {
                        sAddr += “, “;
                    }
                    sAddr += “(“ + interface.getDisplayName() + “) “ + inetAddr.getHostAddress().toString();
                }
            }
        }
    }
    catch (SocketException e)
    {
        e.printStackTrace();
    }
   
    return sAddr;
}
 

 

執行後的結果字串,是類似下面的樣子:

(eth0) 10.1.117.200, (ppp1) 192.168.252.1

 

 

(本頁面已被瀏覽過 205 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料