我正在尝试用Java获取无线网络设备的SSID。我尝试了官方网络教程http://java.sun.com/docs/books/tutorial/networking/nifs/retrieving.html,但getDisplayName()getName()不返回SSID。有没有办法获得精确的SSID?此外,我还试图读取我所有网络设备的wifi信号强度,但无法找到方法。任何人都可以指导我从哪里获取所有这些信息(教程,代码示例等)?
由于
答案 0 :(得分:1)
使用纯Java无法做到这一点。 Java API可以将您带到网络堆栈中的NetworkInterface级别,但不能低于此级别。当连接到WiFi网络时,所有SSID,握手和安全性内容都是在比这更低级别完成的 - 即您的平台相关驱动程序。 Java API(从Java7开始)不会让您更接近这些信息;你将不得不使用一些与平台相关的代码。
答案 1 :(得分:0)
您是否看到此jWlanScan
答案 2 :(得分:-1)
这是代码示例,其中从cmd返回当前连接的无线SSID
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "netsh wlan show interfaces");
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line.contains("SSID")){
// do something
}
}