如何查找本地IP地址

时间:2013-09-16 21:18:31

标签: java android networking

我想创建一个可以检测网络中所有ip4地址的应用。我在互联网上搜索了一下,找到了一个JAVA桌面应用程序的YouTube教程。 Becouse android应用程序可以在JAVA编程我使用相同的代码为应用程序。 代码:

try {
    Enumeration e = NetworkInterface.getNetworkInterfaces();
    while(e.hasMoreElements()) {
        NetworkInterface n = (NetworkInterface) e.nextElement();
        Enumeration ee = n.getInetAddresses();

        while(ee.hasMoreElements()) {
            InetAddress i = (InetAddress) ee.nextElement();
            System.out.println(i.getHostAddress());
        }
    }
}
catch (Exception ex) {
}

对于桌面JAVA应用程序,此代码可以正常使用。但是,当我尝试使用基于JAVA的android sdk运行此代码时,我得到null。 任何人都可以向我解释一下吗? android部分中的代码:

try{
   Enumeration e = NetworkInterface.getNetworkInterfaces();
   while(e.hasMoreElements()){
       NetworkInterface n = (NetworkInterface) e.nextElement();
       Enumeration ee = n.getInetAddresses();
       int ii = 0;
       while(ee.hasMoreElements()){
           InetAddress i = (InetAddress) ee.nextElement();
           ips[ii] = i.getHostAddress();
           ii++;
        }
   }

}      catch(Exception ex)      {

 }

1 个答案:

答案 0 :(得分:1)

// AndroidManifest.xml权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />