Please Help Me...
[Activity(Label = "WiFiScannerActivity", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true)]
public class WiFiScannerActivity : AppCompatActivity
{
public static WifiManager wifiManager;
public static ListView listView;
private Button buttonScan;
public static IList results;
public static List arrayList = new List();
public static ArrayAdapter adapter;
private WifiReceiver wifiReceiver;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
buttonScan = FindViewById<Button>(Resource.Id.scanBtn);
buttonScan.Click += delegate
{
//RunOnUiThread(() =>
//{
// scanWifi();
//});
scanWifi();
};
listView = FindViewById<ListView>(Resource.Id.wifiList);
wifiManager = (WifiManager)Application.Context.GetSystemService(Context.WifiService);
if (!wifiManager.IsWifiEnabled)
{
Toast.MakeText(this, "WiFi is disabled ... We need to enable it", ToastLength.Long).Show();
wifiManager.SetWifiEnabled(true);
}
adapter = new ArrayAdapter<String>(this, Android.Resource.Layout.SimpleListItem1, arrayList);
listView.Adapter = adapter;
scanWifi();
}
protected override void OnPause()
{
base.OnPause();
UnregisterReceiver(wifiReceiver);
}
protected override void OnResume()
{
base.OnResume();
RegisterReceiver(wifiReceiver, new IntentFilter(WifiManager.ScanResultsAvailableAction));
}
private void scanWifi()
{
arrayList.Clear();
wifiReceiver = new WifiReceiver();
RegisterReceiver(wifiReceiver, new IntentFilter(WifiManager.ScanResultsAvailableAction));
wifiManager.StartScan();
Toast.MakeText(this, "Scanning WiFi ...", ToastLength.Long).Show();
}
[BroadcastReceiver]
[IntentFilter(new string[] { WifiManager.NetworkStateChangedAction, WifiManager.WifiStateChangedAction })]
class WifiReceiver : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
results = wifiManager.ScanResults;
foreach (ScanResult scanResult in results)
{
//arrayList.Add(scanResult.Ssid + " - " + scanResult.Capabilities);
arrayList.Add(scanResult.Ssid);
adapter.NotifyDataSetChanged();
}
}
}
}