我希望能夠檢測附近是否有WIFI點。我使用WifiManager.startScan()
方法,我可以使SCAN_RESULTS_AVAILABLE_ACTION意圖失效,並且我可以通過WifiManager.getScanResults()
獲得Wifi點結果,但這種情況只發生一次。例如,附近有無線網點A,B,C。我打電話WifiManager.startScan()
,我發現無線網點A,B,C。然而,在此之後,如果另一個名爲D的無線網點出現在附近,我看不到它。在這種情況下,我如何捕獲無線網點D?我在下面相關的代碼。我很感謝你的幫助。如何在WifiManager中定期使用StartScan(),以便在可用之後立即捕獲到WIFI點?
tManager.startScan();
if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) {
Log.i("WiFiDirectBrdcastRcvr", "FOUND WIFI SPOT");
List<ScanResult> wifiScanList = tManager.getScanResults();
wifis = new String[wifiScanList.size()];
Log.i("WiFiDirectBrdcastRcvr", "Device found " + wifiScanList.size()+" WIFI spots");
for(int i = 0; i < wifiScanList.size(); i++){
wifis[i] = ((wifiScanList.get(i)).toString());
Log.i("WiFiDirectBrdcastRcvr", "Spot" + i + " is: " + wifis[i]);
}
}
儘管此代碼可以回答這個問題,提供了關於如何和/或其它方面,爲什麼它解決了問題,將改善答案的長長期價值。 –