我想创建一个可以检测网络中所有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) {
}
答案 0 :(得分:1)
// AndroidManifest.xml权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />