문제

i am trying to develop an app that scans the existing WiFi signal surrounded my deceive and if specific WiFi signal is existed, the program will do specific instructions as follows in the program bellow :

 for (ScanResult result: results) {  
            int strength1 = info.getRssi ();
            float  strength_in_pre11=2*(strength1+100);
            float  Distance1 =30*(1-(strength_in_pre11/100));
tv = (TextView) findViewById (R.id.textView1);

        if (result.SSID.equals("WiFi1")) {
      String text="We are connecting to "+SSID+" Distance:"+Distance1+" " ;
            tv.setText (text);
        }

        else {
            String otherwifi1="The existing network is:\n\n";
     otherwifi1+=result.SSID+":"+result.level+"\n\n";
        otherwifi1+=result.SSID+":"+result.level+":"+Distance1+"\n";
        tv.setText (otherwifi1);
        }

    }

well , the if statement is not satisfied even though the router name that i put in the if statement (WiFi1) is existed , only else condition is satisfied ?! anyone can help

thank you

도움이 되었습니까?

해결책

Check what's the value of result.SSID :

System.out.println(result.SSID.toString());

if (result.SSID.toString().equals("WiFi1")) {
      String text="We are connecting to "+SSID+" Distance:"+Distance1+" " ;
      tv.setText (text);
    }

다른 팁

Can you try and put a log or syso to see what the ssid is ? and whether it has whitespaces or quotes around the actual name?

i current did something similar and i had to change my if to the following as the ssids i encountered had quotes

if (result.SSID.equals('"' + "WiFi1" + '"'))
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top