0

I have tried to work with the Android Wifimanager. If i start a Scan i only get 0 Networks found.

My Code:

//Listview private ArrayAdapter adapter; private ListView list; private ArrayList mylist = new ArrayList(); ListAdapter adapter1; TextView tV;

//Wifi
private WifiManager mywifi;
WifiReceiver myreceiver;
List<ScanResult> wifiList;
StringBuilder sb;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //definieren
    Button start = (Button) findViewById(R.id.btnstart);

    //Listview
    list = (ListView)findViewById(R.id.lV);
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mylist);
    list.setAdapter(adapter);

    //Textview
    tV = (TextView) findViewById(R.id.tV);
    tV.setText("");

    //Wifi
    mywifi = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    if(mywifi.isWifiEnabled()==false){
        Toast.makeText(getApplicationContext(),"Wifi is disabled ....making it enabled",Toast.LENGTH_SHORT).show();
        mywifi.setWifiEnabled(true);
    }
    myreceiver = new WifiReceiver();
    registerReceiver(myreceiver,new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    mywifi.startScan();





    //buttenevents
    start.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           // getWifiNetworksList();
        }
    });



}
public void getWifiNetworksList(){
    tV.setText("Wifi is starting");
    tV.setText(myreceiver.Wifilist());
}


class WifiReceiver extends BroadcastReceiver {
    public String txt;

    // This method call when number of wifi connections changed
    public void onReceive(Context c, Intent intent) {

        sb = new StringBuilder();
        wifiList = mywifi.getScanResults();
        sb.append("\n        Number Of Wifi connections :"+wifiList.size()+"\n\n");

        for(int i = 0; i < wifiList.size(); i++){

            sb.append(new Integer(i+1).toString() + ". ");
            sb.append((wifiList.get(i)).toString());
            sb.append("\n\n");
        }

        tV.setText(sb);//tV...TextView
        Toast.makeText(getApplicationContext(),"reciever finished",Toast.LENGTH_SHORT).show();
    }
    public String Wifilist(){
        return  txt;
    }

}

}

Sorry for the formating errors

ogris
  • 21
  • 5

0 Answers0