Advertisement
Guest User

WifiScannerActivity.java

a guest
Feb 19th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.23 KB | None | 0 0
  1. package com.example.wifiscannertutorial;
  2.  
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.IntentFilter;
  7. import android.net.wifi.ScanResult;
  8. import android.net.wifi.WifiManager;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.os.Bundle;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.Button;
  15. import android.widget.ListView;
  16. import android.widget.Toast;
  17.  
  18. import java.util.ArrayList;
  19. import java.util.List;
  20.  
  21. public class WifiScannerActivity extends AppCompatActivity {
  22.  
  23.     private WifiManager wifiManager;
  24.     private ListView listView;
  25.     private Button buttonScan;
  26.     private int size = 0;
  27.     private List<ScanResult> results;
  28.     private ArrayList<String> arrayList = new ArrayList<>();
  29.     private ArrayAdapter adapter;
  30.     private BroadcastReceiver wifiReciver;
  31.     private Context contex;
  32.  
  33.     @Override
  34.     protected void onCreate(Bundle savedInstanceState) {
  35.         super.onCreate(savedInstanceState);
  36.         setContentView(R.layout.activity_main);
  37.  
  38.         buttonScan = findViewById(R.id.scnaBtn);
  39.  
  40.         IntentFilter intentFilter = new IntentFilter();
  41.         intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
  42.         getApplicationContext().registerReceiver(wifiReciver, intentFilter);
  43.  
  44.         wifiReciver = new BroadcastReceiver(){
  45.             @Override
  46.             public void onReceive(Context context, Intent intent){
  47.                 results = wifiManager.getScanResults();
  48.                 unregisterReceiver(this);
  49.                 arrayList.add("Broad Cast Reciver Worked");
  50.                 Log.d("test", "Broad cast reciver worked");
  51.                 for(ScanResult scanResult : results){
  52.                     Log.d("test", scanResult.SSID);
  53.                     arrayList.add(scanResult.SSID + " - " + scanResult.capabilities);
  54.                     adapter.notifyDataSetChanged();
  55.                 }
  56.  
  57.                 adapter.notifyDataSetChanged();
  58.  
  59.             }
  60.         };
  61.  
  62.  
  63.         buttonScan.setOnClickListener(new View.OnClickListener(){
  64.             @Override
  65.             public void onClick(View view){
  66.                 scanWifi();
  67.             }
  68.         });
  69.  
  70.         listView = findViewById(R.id.wifiList);
  71.         wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
  72.         contex = getApplicationContext();
  73.         if(!wifiManager.isWifiEnabled()){
  74.             Toast.makeText(this, "WiFi is disabled ... We need to enable it", Toast.LENGTH_SHORT).show();
  75.             wifiManager.setWifiEnabled(true);
  76.         }
  77.  
  78.  
  79.         adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
  80.         listView.setAdapter(adapter);
  81.         scanWifi();
  82.     }
  83.  
  84.     private void scanWifi() {
  85.         arrayList.clear();
  86.         adapter.notifyDataSetChanged();
  87.         IntentFilter intentFilter = new IntentFilter();
  88.         intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
  89.         registerReceiver(wifiReciver, intentFilter);
  90.         wifiManager.startScan();
  91.         Toast.makeText(this, "Scanning Wifi...", Toast.LENGTH_SHORT).show();
  92.     }
  93.  
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement