Reputation: 3
I want to get list of wifi access points.Thank you very much.My code is below
public static void backupWifi(Context context) {
WifiManager wifiManager = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String id = wifiInfo.getBSSID();
int ip = wifiInfo.getIpAddress();
String MAC = wifiInfo.getMacAddress();
String SSID = wifiInfo.getSSID();
int idnw = wifiInfo.getNetworkId();
Log.v("ID", id);
Log.v("IP", String.valueOf(ip));
Log.v("MAC", MAC);
Log.v("SSID", SSID);
Log.v("idnw", String.valueOf(idnw));
}
Upvotes: 0
Views: 9302
Reputation: 2362
You need to create a BroadcastReceiver to listen for Wifi scan results:
private final BroadcastReceiver mWifiScanReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent intent) {
if (intent.getAction() == WifiManager.SCAN_RESULTS_AVAILABLE_ACTION) {
List<ScanResult> mScanResults = wifi.getScanResults();
// add your logic here
}
}
}
In onCreate() you would assign mWifiManager and initiate a scan:
mWifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
mWifiManager.startScan();
This code which handles your scan results would run every time a new scan result is available, updating the result.
Upvotes: 4
Reputation: 1090
First get a list of available wifi points-
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
List<ScanResult> apList = wifiManager.getScanResults();
apList - is the list of all available wifi points in the most recent scan.
You can set this apList to a ListView. NB:- this method returns only the recently scanned wifi points
Upvotes: 2