是否可以使用Xamarin以编程方式连接到Wi-Fi网络? [英] Is possible to programmatically connect to Wi-Fi network using Xamarin?

查看:363
本文介绍了是否可以使用Xamarin以编程方式连接到Wi-Fi网络?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用Xamarin.iOS和Xamarin.Android,可以检查是否启用了Wi-Fi? 而且,如果被禁用,可以启用它吗? 启用后,如何搜索并连接到网络?

Using Xamarin.iOS and Xamarin.Android, it is possible to check if the Wi-Fi is enabled? And, if is disabled, it's possible to enable it? Once it's enabled, how to search and connect to a network?

推荐答案

启用/禁用Wifi:

WifiManager wifiManager = (WifiManager)GetSystemService(WifiService);
if (!wifiManager.IsWifiEnabled)
    wifiManager.SetWifiEnabled(true);
else 
    wifiManager.SetWifiEnabled(false);

更改wifi状态的权限:

android.permission.CHANGE_WIFI_STATE

添加网络:

var networkSSID = "Stack";
var networkPass = "Overflow";
var config = new WifiConfiguration();
config.Ssid = '"' + networkSSID + '"';

// For WPA/WPA2, WEP is different (still using WEP? shame on you ;-)
config.PreSharedKey = '"' + networkPass + '"';
wifiManager.AddNetwork(config);

连接到网络:

IList<WifiConfiguration> myWifi = wifiManager.ConfiguredNetworks;
wifiManager.Disconnect();
wifiManager.EnableNetwork(myWifi.FindFirst(x => x.Ssid.Contains(networkSSID)), true);
wifiManager.Reconnect();

这篇关于是否可以使用Xamarin以编程方式连接到Wi-Fi网络?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆