くうと徒然なるままに

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

既知 の Wifi Spot に Xamarin.Android なアプリから接続する

コード

 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) =>
            {
                var TartgetSSID = "daido-o";
                WifiConfiguration tartgetSpot;
                using (var wifiManager = GetSystemService(WifiService) as WifiManager)
                {
                    if (wifiManager != null && !wifiManager.IsWifiEnabled) return;
                    tartgetSpot = wifiManager?.ConfiguredNetworks.First(configuration => configuration.Ssid.Replace("\"","") == TartgetSSID);
                }
                wifiStatusText.Text = $"接続中: {tartgetSpot?.Ssid}";
            };
        }

実行結果

f:id:kuxumarin:20171120114155j:plain