gpt4 book ai didi

android - 我可以设置WiFi的ssid吗?

转载 作者:行者123 更新时间:2023-11-29 23:49:47 25 4
gpt4 key购买 nike

我可以使用下面的代码获取Wifi的名称,我希望通过编程方式选择WiFi,我该怎么做?

wifiInfo.ssid好像是val,赋值不上去!

我将所需的权限设置为

<!-- in AndroidManifest.xml -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

然后在代码中

<!-- in Activity class -->
var wifiManager = mContext.applicationContext.getSystemService(WIFI_SERVICE) as WifiManager
var wifiInfo = wifiManager.connectionInfo

var name=wifiInfo.ssid
var isEnabled=wifiManager.isWifiEnabled

wifiInfo.ssid="MyNewWifi" //It cause error

顺便说一下,

我已阅读文章 How do I connect to a specific Wi-Fi network in Android programmatically?

在上面的代码中,我重新连接WIFI时好像需要提供密码。

在我看来,如果我成功连接到wifi,密码将保存到配置中,我希望如果我想再次连接wifi,我不需要在我的代码中提供密码,我该怎么办?

最佳答案

您需要像这样创建一个 Wifi 配置。

String networkSSID = "testwifi";
String networkPass = "password";

WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\"";
conf.preSharedKey = "\""+ networkPass +"\"";
WifiManager wifiManager =

(WifiManager)context.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);

List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();

break;
}
}

此代码应该适用于 WPA 安全设置。

引用: Another similar question link

关于android - 我可以设置WiFi的ssid吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51006433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com