如何在java中获取wifi网络接口名称
如何在java中确定wifi网络接口名称?您可以指定吗?是否要连接网络的SSID?或者网络适配器的名称?我提供了一个示例来获取所有网络接口的名称如何在java中获取wifi网络接口名称,java,networking,network-programming,wifi,Java,Networking,Network Programming,Wifi,如何在java中确定wifi网络接口名称?您可以指定吗?是否要连接网络的SSID?或者网络适配器的名称?我提供了一个示例来获取所有网络接口的名称 Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); while (networkInterfaces.hasMoreElements()) { NetworkInterface networkInterf
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements())
{
NetworkInterface networkInterface = (NetworkInterface) networkInterfaces.nextElement();
System.out.println(networkInterface.getDisplayName());
}
枚举networkInterfaces=NetworkInterface.getNetworkInterfaces();
while(networkInterfaces.hasMoreElements())
{
NetworkInterface NetworkInterface=(NetworkInterface)networkInterfaces.nextElement();
System.out.println(networkInterface.getDisplayName());
}
如果您只想选择WLAN接口,可能必须通过JNI执行此操作,否则可以检查名称中是否出现“WLAN”(如eth0、eth1等)。我不建议只依赖这种命名约定
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements())
{
NetworkInterface networkInterface = (NetworkInterface) networkInterfaces.nextElement();
if(networkInterface.getName().startsWith("wlan")) {
System.out.println(networkInterface.getDisplayName());
}
}
枚举networkInterfaces=NetworkInterface.getNetworkInterfaces();
while(networkInterfaces.hasMoreElements())
{
NetworkInterface NetworkInterface=(NetworkInterface)networkInterfaces.nextElement();
if(networkInterface.getName().startsWith(“wlan”)){
System.out.println(networkInterface.getDisplayName());
}
}
试试:
这将返回您机器上的所有接口。如果您使用的是Wi-Fi接口,而仅使用Wi-Fi接口,则在Android上解析/proc/net/wireless是一种方法:
public static String getInterfaceName() {
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/net/wireless")));
// skip header
reader.readLine();
reader.readLine();
// read first interesting line
String ifLine = reader.readLine();
reader.close();
// extract interface name
String ifName = ifLine.substring(0, ifLine.indexOf(':'));
return ifName.trim();
}
catch(Exception e) {
e.printStackTrace();
return null;
}
}
既然你说你是在安卓系统上开发的,那就用这个:
WifiManager wifiManager = (WifiManager) this.getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
System.out.println(wifiInfo.getSSID());
这将返回您的WIFI的名称
您必须将此权限添加到您的清单中
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
从该列表中,如何识别接口是否为wifi?您是否在android上开发?是的。但我希望从本机java API中找到接口类型。从该列表中,如何识别接口是否为wifi接口?我调整了答案,这是否有帮助?@dheeps您是否找到了解决方案。如何获取wifi接口的名称?