くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

Xamarin.Android で 周辺の Wifi Spot の一覧を取得する

コード

 protected override void OnCreate(Bundle savedInstanceState)
        {
            // 良さげな Permission 設定はしてくださいませ
            // Access_Wifi_State とか
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            var connectButton = FindViewById<Button>(Resource.Id.ConnectButton);
            var wifiStatusText = FindViewById<TextView>(Resource.Id.WifiStatusText);

            connectButton.Click += (sender, args) =>
            {
                using (var wifiManager = GetSystemService(Context.WifiService) as WifiManager)
                {
                    wifiManager.StartScan();
                    wifiStatusText.Text = "Wifi の接続状況\n";
                    wifiManager.ScanResults.Where(result => !string.IsNullOrEmpty(result.Ssid)).Select(result => $"SSID: {result.Ssid} 接続レベル: {result.Level} \n").ToList().ForEach(s => wifiStatusText.Text += s);
                }
            };
        }

実行結果

f:id:kuxumarin:20171120115206j:plain