我正在制作一款需要能够查看本地网络设备(名称或IP)的Android应用。目前,我可以扫描网络并找到本地IP设备。然而,用户在搜索网络时看到黑屏加载几分钟需要很长时间。
以下是我目前正在使用的代码:
private ArrayList<String> scanSubNet(String subnet) {
ArrayList<String> hosts = new ArrayList<String>();
InetAddress inetAddress = null;
for (int i = 1; i < 100; i++) {
try {
inetAddress = InetAddress.getByName(subnet + String.valueOf(i));
if (inetAddress.isReachable(1000)) {
hosts.add(inetAddress.getHostName());
Log.d("ERRORID", inetAddress.getHostName());
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return hosts;
}
必须有更快的方法来搜索网络设备吗?