Q: Не работает BroadcastReceiver при сканирование wifi, как исправить? Не срабатывает BroadcastReceiver, что не так?
public void scanWifi() {
    wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    context.registerReceiver(wifi,
            new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    wifiManager.startScan();
}

BroadcastReceiver wifi = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        List<ScanResult> list = wifiManager.getScanResults();
        context.unregisterReceiver(this);
        Toast.makeText(context, "Список: "+ list.size(), Toast.LENGTH_SHORT).show();
        for (ScanResult result : list)
            System.out.println(result.toString());
    }
};   

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
В логах выдает:
I/HwPointEventFilter: do not support AFT because of no config


A: Судя по ответу в https://stackoverflow.com/a/36816676/5892568 скорее всего так как вы работаете на версии 6+ для того, чтобы это заработало надо получить dangerous permission ACCESS_COARSE_LOCATION, т.е. запросить у пользователя и т.д. смотрите подробнее тут
https://developer.android.com/training/permissions/requesting 
Заменив предварительно на верный permission
// Here, thisActivity is the current activity
    if (ContextCompat.checkSelfPermission(thisActivity,
            Manifest.permission.READ_CONTACTS)
            != PackageManager.PERMISSION_GRANTED) {

        // Permission is not granted
        // Should we show an explanation?
        if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
                Manifest.permission.READ_CONTACTS)) {
            // Show an explanation to the user *asynchronously* -- don't block
            // this thread waiting for the user's response! After the user
            // sees the explanation, try again to request the permission.
        } else {
            // No explanation needed; request the permission
            ActivityCompat.requestPermissions(thisActivity,
                    new String[]{Manifest.permission.READ_CONTACTS},
                    MY_PERMISSIONS_REQUEST_READ_CONTACTS);

            // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
            // app-defined int constant. The callback method gets the
            // result of the request.
        }
    } else {
        // Permission has already been granted
    }

