我想制作一个检测网络中所有 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++;
}
}
} 捕捉(异常前){
}