0

我想制作一个检测网络中所有 ip4 地址的应用程序。我在互联网上搜索了一下,找到了一个 JAVA 桌面应用程序的 YouTube 教程。因为 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 运行此代码时,我得到空值。谁能给我解释一下?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++;
        }
   }

} 捕捉(异常前){

 }
4

1 回答 1

1

// AndroidManifest.xml 权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
于 2013-09-16T21:34:47.990 回答