gpt4 book ai didi

以编程方式第二次连接到特定 Wi-Fi 网络的 Android "Bypassing user approval"无法正常工作

转载 作者:行者123 更新时间:2023-12-05 06:00:19 25 4
gpt4 key购买 nike

按照 Android 文档,我使用此代码以编程方式连接到特定的 SSID:

private void connectToAP(String ssid, String password) {
...
WifiNetworkSpecifier wifiNetworkSpecifier = new WifiNetworkSpecifier.Builder()
.setSsid(ssid)
.setWpa2Passphrase(password)
.build();

NetworkRequest.Builder requestBuilder = new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.setNetworkSpecifier(wifiNetworkSpecifier);

NetworkRequest request = requestBuilder.build();
connManager.requestNetwork(request, myNetworkCallback);
...
bindNetwork(); //this method will bind the network without internet
}

如文档中所述https://developer.android.com/guide/topics/connectivity/wifi-bootstrap#bypass-approval ,如果我没有忘记网络,则到该特定 SSID 的第二个连接必须绕过用户批准。

我的问题是:

  1. 调用“connectToAP
  2. 用户认可
  3. 已联系
  4. 一段时间后,IoT 设备会关闭 wifi 几秒钟
  5. 断开连接回调会重试调用“connectToAP”方法(第 1 点),但未按预期绕过用户批准(第 2 点)

我做错了什么?谢谢!

最佳答案

我在这里为您附上一个 val 说明符的示例,观察到这个魔法是在 setBssid 中​​放入一个值,这样就可以了,系统不会显示窗口批准。

WifiNetworkSpecifier = if(isDevice8424){
WifiNetworkSpecifier.Builder()
.setSsid(ssid)
.setBssid(MacAddress.fromString(bssid))//here ir the magic!
.build()

关于以编程方式第二次连接到特定 Wi-Fi 网络的 Android "Bypassing user approval"无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67717837/

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