问题描述: 在安卓10系统上,通过程序无法连接到WPA WiFi网络。
解决方法:
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connManager.getActiveNetworkInfo();
if (activeNetworkInfo == null || !activeNetworkInfo.isConnected()) {
// 网络连接不可用
return;
}
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = "\"" + networkSSID + "\"";
wifiConfig.preSharedKey = "\"" + networkPassword + "\"";
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
wifiManager.reconnect();
其中,networkSSID
是WiFi网络的SSID,networkPassword
是WiFi网络的密码。
请注意,如果WPA WiFi网络已经存在于设备的WiFi网络列表中,可以通过以下逻辑连接到该网络:
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
List configuredNetworks = wifiManager.getConfiguredNetworks();
for (WifiConfiguration wifiConfig : configuredNetworks) {
if (wifiConfig.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(wifiConfig.networkId, true);
wifiManager.reconnect();
break;
}
}
这段代码会遍历设备上已配置的WiFi网络列表,并找到与指定的SSID匹配的网络进行连接。
希望以上解决方法能够帮助到您解决问题。
上一篇:安卓10生物识别管理安全
下一篇:安卓10无法通过URI编辑文件。