Monday, March 7, 2011

Android Wifi How to scan wireless networks?

By Magesh Kumar   Posted at  5:00 AM   Android No comments


Scan for wireless networks in the current area: 

}ckage com.android.wifitester;

import java.util.List;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class WifiTester extends Activity {
  TextView mainText;
  WifiManager mainWifi;
  WifiReceiver receiverWifi;
  List<ScanResult> wifiList;
  StringBuilder sb = new StringBuilder();
 
  public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   mainText = (TextView) findViewById(R.id.mainText);
   mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
   receiverWifi = new WifiReceiver();
   registerReceiver(receiverWifi, new IntentFilter(
      WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
   mainWifi.startScan();
   mainText.setText("\nStarting Scan...\n");
  }

  public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, 0, 0, "Refresh");
    return super.onCreateOptionsMenu(menu);
  }

  public boolean onMenuItemSelected(int featureId, MenuItem item) {
    mainWifi.startScan();
    mainText.setText("Starting Scan");
    return super.onMenuItemSelected(featureId, item);
  }

  protected void onPause() {
    unregisterReceiver(receiverWifi);
    super.onPause();
  }

  protected void onResume() {
    registerReceiver(receiverWifi, new IntentFilter(
       WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    super.onResume();
  }
 
  class WifiReceiver extends BroadcastReceiver {
    public void onReceive(Context c, Intent intent) {
    sb = new StringBuilder();
    wifiList = mainWifi.getScanResults();
    for(int i = 0; i < wifiList.size(); i++){
      sb.append(new Integer(i+1).toString() + ".");
      sb.append((wifiList.get(i)).toString());
      sb.append("\n");
    }
    mainText.setText(sb);
    }
  }
}

About the Author

Nulla sagittis convallis arcu. Sed sed nunc. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.
View all posts by: BT9

0 comments:

Back to top ↑
Connect with Us

What they says

© 2013 MaGeSH 2 help. WP Mythemeshop Converted by BloggerTheme9
Blogger templates. Proudly Powered by Blogger.