Lista de dispositivos Wi-Fi disponíveis

Quero exibir a lista de dispositivos Wi-Fi disponíveis. Este é o meu código, eu não entendo o erro aqui:

wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (wifi.isWifiEnabled() == false)
   {
Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled",Toast.LENGTH_LONG).show();
wifi.setWifiEnabled(true);
   }   
String[] str1 = null;
ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,android.R.id.text1,str1);
 lv.setAdapter(adapter);
 WifiInfo info = wifi.getConnectionInfo();
textStatus.append("\n\nWiFi Status: " + info.toString());
 boolean b=wifi.isWifiEnabled();
if(b){
 wifi.setWifiEnabled(false);
Toast.makeText(getApplicationContext(), "Yes", Toast.LENGTH_SHORT).show();
enter code here

Este é o meu código, eu quero obter propriedades do dispositivo habilitado para Wi-Fi especificamente no Android por meio de programação. Como posso conseguir isso?

 public void onReceive(Context c, Intent intent) 
 {
 results = wifi.getScanResults();
 size = results.size();
 int i = 0;
 str1 = new String[size];
 for (ScanResult result : results){
 str1[i] = result.SSID + " " + result.level;
 i++;
 }

questionAnswers(2)

yourAnswerToTheQuestion