gpt4 book ai didi

android - 无法以编程方式连接到 android 中的特定 WiFi

转载 作者:太空狗 更新时间:2023-10-29 13:15:30 24 4
gpt4 key购买 nike

当我在 android 中按下按钮时,我正在使用以下代码检测并连接到特定的 WiFi ssid。下面是代码。任何帮助将不胜感激。


ssid:-“myHotspot”和密码:-“12345678”


 Button b1 = (Button) findViewById(R.id.button); <br>
b1.setOnClickListener(new View.OnClickListener() {
<br><br>@Override
<br>public void onClick(View v) {

wifiConfiguration.SSID = "\"myHotspot\"";
wifiConfiguration.preSharedKey ="\"12345678\"";
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

int netId = wifiManager.updateNetwork(wifiConfiguration);
if (wifiManager.isWifiEnabled()) { //---wifi is turned on---
//---disconnect it first---
wifiManager.disconnect();

} else { //---wifi is turned off---
//---turn on wifi---

wifiManager.setWifiEnabled(true);
}
wifiManager.enableNetwork(netId, true);
wifiManager.reconnect();

}
});



我遇到的主要问题是我的手机连接到 ssid 并在 2-3 秒后失去连接并连接到我的家庭 Wifi 路由器(具有互联网连接)


注意:- 我尝试连接的 ssid 只是一个没有任何互联网连接的本地热点。
如果我尝试使用“addNetwork(wifiConfiguration)”,它会创建多个同名网络。所以现在我该如何解决这个问题?!

最佳答案

我认为这里的问题是您在调用 wifiManager.setWifiEnabled(true) 后立即尝试 enableNetwork。通常,打开 wifi 需要 5-10 秒,具体取决于设备,在此之前对 wifiManager.enableNetwork 的任何调用都将丢失。因此,您连接到所需网络的调用会丢失,一旦打开 wifi,您的设备就会连接到它记得的最后一个网络。

尝试创建一个循环,在其中不断检查 wifiManager.isWifiEnabled() == true 并继续循环直到它返回 true(显然使用 Thread.sleep()并在 AsyncTask 或单独的 Thread 中执行此操作)。只有在那之后尝试调用 enableNetwork

关于android - 无法以编程方式连接到 android 中的特定 WiFi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35145831/

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