Scan or read for wireless networks in Android WiFi

This class provides the primary API for managing all aspects of Wi-Fi connectivity. Get an instance of this class by calling Context.getSystemService(Context.WIFI_SERVICE). It deals with several categories of items:

  • The list of configured networks. The list can be viewed and updated, and attributes of individual entries can be modified.
  • The currently active Wi-Fi network, if any. Connectivity can be established or torn down, and dynamic information about the state of the network can be queried.
  • Results of access point scans, containing enough information to make decisions about what access point to connect to.
  • It defines the names of various Intent actions that are broadcast upon any sort of change in Wi-Fi state.
This is the API to use when performing Wi-Fi specific operations. To perform operations that pertain to network connectivity at an abstract level, use ConnectivityManager. Scan for wireless networks in the current area:

import java.util.List;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
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) {
   mainText = (TextView) findViewById(;
   mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
   receiverWifi = new WifiReceiver();
   registerReceiver(receiverWifi, new IntentFilter(
   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) {
    mainText.setText("Starting Scan");
    return super.onMenuItemSelected(featureId, item);

  protected void onPause() {

  protected void onResume() {
    registerReceiver(receiverWifi, new IntentFilter(
  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() + ".");

More info:
Scan or read for wireless networks in Android WiFi Scan or read for wireless networks in Android WiFi Reviewed by D Kshetri on 11:30 AM Rating: 5

No comments:

Powered by Blogger.