最近有個程式需求,要顯示手機上所有的 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

 

 

文章標籤
創作者介紹

亂打一通的心情日記

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()