본문 바로가기

소프트웨어/Android/Java/Ndk

Android] WifiManager 업데이트( .startScan())

wifi ap 정보를 얻어오는데는 getScanResult() 매서드를 이용했었다.

scanResult = wifiManager.getScanResults();


그런데 List를 업데이트하기위해 지속적으로 getScanResults()를 call하여도 업데이트가 되지 않는것이다.

(여기서 List를 업데이트할때 .notifyDatasetChanged() 매서드를 사용해야 한다는 것을 깜빡...어쨌든 이문제는 아니었다)


그래서 Reference를 뒤져본 결과는,,





WifiManager Class의 startScan()이라는 매서드가 즉각적으로 AP의 scan 결과를 반환해준다.


그래서 




주석을 친 상태에서는 백날 .getScanResults()를 해봤자 리스트의 변화가 없지만

위의 캡쳐에서 빨간네모 두 부분의 wifiManager.startScan()의 주석을 해제한 후 getScanResults()매서드를 수행하면 새로 업데이트된 AP의 정보를 List형식으로 List변수인 scanResult에 저장한다.


=>Update가 안되는 문제 해결!