2017-11-07 1 views
1

그래서 처리중인 와이파이 검색에서 특정 라우터 정보를 얻고 싶습니다. 먼저 Wi-Fi를 스캔하여 목록에 저장합니다. 항목의 난 ("DLINK")을 검색하고 라우터 이름에 동일한 경우와이파이 목록에서 문자열 찾기

WifiManager wifiManager = (WifiManager)getActivity().getSystemService(Context.WIFI_SERVICE); 
    wifiManager.startScan(); 

    List<ScanResult> wifiList = wifiManager.getScanResults(); 

는 내가 확인.

for(int i = 0; i < wifiList.size();i++){ 

if(wifiList.get(i).SSID.toString() == "dlink"){ 
     con[0] = "router1 found"; 
} 
} 

출력이 null입니다. 라우터가 있다는 사실을 알고 있습니다. 나는 wifiList 라우터의 위치를 ​​확인 목록을 인쇄합니다. 해당 라우터의 SSID를 목록에서 라우터 이름과 비교했지만 작동하지 않았습니다. 나는 라우터의 이름 char을 char로 출력했고 그것은 동일했다.

+0

은 [처리 태그]를 주목하시기 바랍니다. 또한보십시오 : [Processing! = Java] (https://meta.stackoverflow.com/questions/321127/processing-java) –

답변

1

String 값을 비교하려면 ==을 거의 사용하지 않아야합니다. 대신 equals() 함수를 사용해야합니다. if (a.equals(b)) 같이

는 등호를 사용하여 두 개의 문자열의 내용을 비교하려면() 메소드 대신 if (a == b) :

the reference에서

. String은 Object이므로 두 문자열을 == 연산자와 비교하면 두 문자열이 같은 메모리 위치에 저장되어 있는지 비교 만됩니다. equals() 메서드를 사용하면 실제 내용을 비교할 수 있습니다. 합니다 (troubleshooting 참조는 더 이상 설명이 있습니다.)

은 참조 : 태그 : c3st7n @How do I compare strings in Java?

+0

정말 고마워요. 정말 감사합니다. 좋은 하루 되세요! – jakic

+0

@jakic 문제 없습니다. https://stackoverflow.com/help/someone-answers 및 https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work를 참조하십시오. –