首页 > 解决方案 > 如何为 Android Things 1.0.2 以编程方式连接到 wifi

问题描述

我正在尝试通过我们部署在 Android Things 1.0.2 上的应用程序以编程方式连接到 Wifi 网络。我跟着教程(https://spin.atomicobject.com/2018/02/15/connecting-wifi-xamarin-forms/)。wifi设置代码如下:

var ssid = "linksys";
var password = "123";
var wifiManager = (WifiManager)Android.App.Application.Context
                        .GetSystemService(Context.WifiService);
var formattedSsid = $"\"{ssid}\"";
var formattedPassword = $"\"{password}\"";
wifiManager.EnableNetwork(true);
var wifiConfig = new WifiConfiguration
            {
                Ssid = formattedSsid,
                PreSharedKey = formattedPassword
            };
var addNetwork = wifiManager.AddNetwork(wifiConfig);
var network = wifiManager.ConfiguredNetworks
                 .FirstOrDefault(n => n.Ssid == ssid);

if (network == null)
   {
     Console.WriteLine($"Cannot connect to network: {ssid}");
     return;
   }

wifiManager.Disconnect();
var enableNetwork = wifiManager.EnableNetwork(network.NetworkId, true);

但是当我尝试在“WifiManager”上获取“ConfiguredNetworks”时,我得到了空结果。我也尝试手动授予这两个android权限

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

通过 adb 命令但得到“权限不可更改”错误。提前谢谢你的帮助。

标签: xamarin.formsandroid-wifiandroid-things

解决方案


推荐阅读