Android 9的Wifi扫描是通过WifiManager.startScan()方法进行的。当扫描结束并检测到新的Wifi网络时,会发送SCAN_RESULTS_AVAILABLE_ACTION广播。
以下是一个示例代码:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// 执行Wifi扫描
wifiManager.startScan();
// 注册广播接收器以接收Wifi扫描结果
BroadcastReceiver wifiScanReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 检查广播类型
if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
// 处理Wifi扫描结果
List scanResults = wifiManager.getScanResults();
// ...
}
}
};
registerReceiver(wifiScanReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
在这个示例中,我们使用WifiManager.startScan()来触发Wifi扫描,并在注册BroadcastReceiver时指定接收SCAN_RESULTS_AVAILABLE_ACTION广播。在广播接收器的onReceive()方法中,我们可以使用WifiManager.getScanResults()方法来获取Wifi扫描结果。