-1
Override
public View getView(int position, View convertView, ViewGroup parent) {

    Holder holder;
    View view = convertView;

    if (view == null) {
        view = inflater.inflate(R.layout.list_item, null);
        holder = new Holder();
        holder.tvDetails = (TextView) view.findViewById(R.id.txtWifiName);
        view.setTag(holder);
    }
    else {
        holder = (Holder)view.getTag();
    }

    holder.tvDetails.setText(wifilist.get(position).SSID + "\n" + (wifilist.get(position).BSSID));
    return view;
}

This is my code before, please help me.

piet.t
  • 11,400
  • 21
  • 42
  • 50

2 Answers2

1

Using WifiManager you can get the Mac Address

WifiManager wm = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
            String WLANMAC = wm.getConnectionInfo().getMacAddress();

Using WifiInfo you can get SSID wifiInfo.getSSID() and RSSI wifiInfo.getRssi()

 WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  int ipAddress = wifiInfo.getIpAddress();
Sai Aditya
  • 2,266
  • 1
  • 13
  • 16
0

this is my full code on ListAdapter.java Class

public class ListAdapter extends BaseAdapter {

Context context;
LayoutInflater inflater;
List<ScanResult> wifilist;

public ListAdapter(Context context, List<ScanResult> wifilist) {

    this.context = context;
    this.wifilist = wifilist;
    inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public int getCount() {
    return wifilist.size();
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    Holder holder;
    View view = convertView;

    if (view == null) {
        view = inflater.inflate(R.layout.list_item, null);
        holder = new Holder();
        holder.tvDetails = (TextView) view.findViewById(R.id.txtWifiName);
        view.setTag(holder);
    }
    else {
        holder = (Holder)view.getTag();
    }

    holder.tvDetails.setText(wifilist.get(position).SSID + "\n" + (wifilist.get(position).BSSID));
    return view;

}
class Holder{
    TextView tvDetails;
}

}

And this is my code for ActivityMenu.java Class

public class AP extends AppCompatActivity {
    WifiManager wifiManager;
    WifiReceiver wifiReceiver;
    ListAdapter listAdapter;
    ListView wifilist;
    List mywifilist;


    @SuppressLint("WifiManagerLeak")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_ap);

            wifilist = (ListView)findViewById(R.id.mylistview);
            wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
            wifiReceiver = new WifiReceiver();


            registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

            if(ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED){
                    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 0);
            }
            else{
                    scanWifiList();
            }
    }

    private void scanWifiList() {
            wifiManager.startScan();
            mywifilist = wifiManager.getScanResults();
            setAdapter();
    }

    private void setAdapter() {
            listAdapter = new ListAdapter(getApplicationContext(),mywifilist);
            wifilist.setAdapter(listAdapter);
    }

    class  WifiReceiver extends BroadcastReceiver{
            @Override
            public void onReceive(Context context, Intent intent) {
            }
    }

}