Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JAVA中查找WIFI状态_Java_Networking_Network Programming_Wifi - Fatal编程技术网

在JAVA中查找WIFI状态

在JAVA中查找WIFI状态,java,networking,network-programming,wifi,Java,Networking,Network Programming,Wifi,在我的java应用程序中,我想查看wifi处于什么状态(例如1 bar、2 bar或无wifi) 我想知道如何才能在本机Java中找到计算机的wifi状态,或者使用乒乓球应用程序,或者是否必须将wifi状态直接解析到应用程序 任何帮助都将不胜感激 另外,我没有使用android如果你想覆盖Windows平台,那么你可以使用以下方法: public int getWirelessStrength() { // The returned integer value is in relatio

在我的java应用程序中,我想查看wifi处于什么状态(例如1 bar、2 bar或无wifi)

我想知道如何才能在本机Java中找到计算机的wifi状态,或者使用乒乓球应用程序,或者是否必须将wifi状态直接解析到应用程序

任何帮助都将不胜感激


另外,我没有使用android

如果你想覆盖Windows平台,那么你可以使用以下方法:

public int getWirelessStrength() {
    // The returned integer value is in relation to strength percent.
    // If 75 is returned then the wireless signal strength is at 75%.
    List<String> list = new ArrayList<>();
    int signalStrength = 0;
    String cmd = "netsh wlan show interfaces"; 
    try {
        Process p = Runtime.getRuntime().exec("cmd /c " + cmd);
        p.waitFor();
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                list.add(line);
            }
        }
        if (p.isAlive()) { p.destroy(); }

        // Get the Signal Strength.
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).trim().toLowerCase().startsWith("signal")) {
                String[] ss = list.get(i).split(":");
                if(ss.length == 2) {
                    signalStrength = Integer.parseInt(ss[1].replace("%","").trim());
                }
                break;
            }
        }
    }
    catch (IOException | InterruptedException ex) { 
        Logger.getLogger("getWirelessStrength()").log(Level.SEVERE, null, ex);
    }
    return signalStrength;
}
public int getWirelessStrength(){
//返回的整数值与强度百分比有关。
//如果返回75,则无线信号强度为75%。
列表=新的ArrayList();
int信号强度=0;
String cmd=“netsh wlan显示接口”;
试一试{
进程p=Runtime.getRuntime().exec(“cmd/c”+cmd);
p、 waitFor();
try(BufferedReader=new BufferedReader(new InputStreamReader(p.getInputStream())){
弦线;
而((line=reader.readLine())!=null){
列表。添加(行);
}
}
如果(p.isAlive()){p.destroy();}
//获取信号强度。
对于(int i=0;i

上述方法利用窗口获取所需信息。返回的整数结果是信号强度的百分比,因此,如果返回75,则WiFi信号强度为75%。如果您想为Unix或Linux执行类似的操作,那么可以使用or命令并以类似的方式解析出所需的信号强度。对于MAC,我相信您需要使用。

首先,我要问您的问题是:您试图解决什么问题?我们可以看到您的代码吗?无论您是否在这里得到答案,您都不能假设WiFi信号必然意味着您的休息/服务呼叫将成功。他们可能仍然会失败。我现在没有任何代码,因为我不知道如何使用java实现。谢谢!这正是我需要的!