根据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必须绕过用户批准。
我的问题是:
- 调用“connectToAP”
- 用户批准
- 已连接
- 一段时间后,物联网设备关闭wifi几秒钟
- 断开连接回调重试调用“connectToAP”方法(点1),但预期未绕过用户批准(点2)
我做错了什么?