WiFi 开始扫描后,当扫描结果可操作时会收到 SCAN_RESULTS_AVAILABLE_ACTION 广播,这时我们通过 WifiManager.getScanResults() 获取 WiFi 列表。
1、APP开始扫描
// 取得WifiManager对象
WifiManager mWifiManager=(WifiManager) context.getSystemService(Context.WIFI_SERVICE);
// 获取扫描结果列表
List<ScanResult> mWifiList = mWifiManager.getScanResults();
// 获取配置好的网络连接
List<WifiConfiguration> mWifiConfigurations=mWifiManager.getConfiguredNetworks();
2、源码分析
WifiManager.getScanResults()
源码位置:/packages/modules/Wifi/framework/java/android/net/wifi/WifiManager.java
IWifiManager mService;
public List<ScanResult> getScanResults() {
try {
return mService.getScanResults(mContext.getOpPackageName(), mContext.getAttributionTag());
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
这里实际调用的是 W