Created
May 23, 2018 06:53
-
-
Save ssaurel/dc514ebc495a5f806056c16edaadd70e to your computer and use it in GitHub Desktop.
MainActivity of the WiFi Scanning Android App for the SSaurel's Blog
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.ssaurel.scanwifi; | |
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.support.v7.app.AppCompatActivity; | |
import android.view.View; | |
import android.widget.ArrayAdapter; | |
import android.widget.Button; | |
import android.widget.ListView; | |
import android.widget.Toast; | |
import java.util.ArrayList; | |
import java.util.List; | |
public class WiFiScannerActivity extends AppCompatActivity{ | |
private WifiManager wifiManager; | |
private ListView listView; | |
private Button buttonScan; | |
private int size = 0; | |
private List<ScanResult> results; | |
private ArrayList<String> arrayList = new ArrayList<>(); | |
private ArrayAdapter adapter; | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
buttonScan = findViewById(R.id.scanBtn); | |
buttonScan.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
scanWifi(); | |
} | |
}); | |
listView = findViewById(R.id.wifiList); | |
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); | |
if (!wifiManager.isWifiEnabled()) { | |
Toast.makeText(this, "WiFi is disabled ... We need to enable it", Toast.LENGTH_LONG).show(); | |
wifiManager.setWifiEnabled(true); | |
} | |
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList); | |
listView.setAdapter(adapter); | |
scanWifi(); | |
} | |
private void scanWifi() { | |
arrayList.clear(); | |
registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); | |
wifiManager.startScan(); | |
Toast.makeText(this, "Scanning WiFi ...", Toast.LENGTH_SHORT).show(); | |
} | |
BroadcastReceiver wifiReceiver = new BroadcastReceiver() { | |
@Override | |
public void onReceive(Context context, Intent intent) { | |
results = wifiManager.getScanResults(); | |
unregisterReceiver(this); | |
for (ScanResult scanResult : results) { | |
arrayList.add(scanResult.SSID + " - " + scanResult.capabilities); | |
adapter.notifyDataSetChanged(); | |
} | |
}; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment