Android WifiConnectivityManager 如何检测网络 如果把上次保存的wifi账号和密码传给路由器的?
时间: 2024-02-20 11:00:09 浏览: 35
Android WifiConnectivityManager 检测网络的过程如下:
1. 扫描可用网络:WifiConnectivityManager 扫描设备可见的 WiFi 热点,并获取每个网络的 SSID,BSSID 和信号强度等信息。
2. 过滤网络:WifiConnectivityManager 根据一些规则过滤可用的网络。例如,它会优先选择已经保存的网络,而不是未保存的公共网络。它还会考虑网络的信号强度,安全性等因素。
3. 连接网络:一旦筛选出最佳的网络,WifiConnectivityManager 就会自动连接到该网络。它会发送连接请求,等待响应,然后建立连接。
如果你希望将上次保存的 WiFi 账号和密码传递给路由器,你可以使用以下代码:
```java
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = "\"" + networkSSID + "\"";
wifiConfig.preSharedKey = "\"" + networkPass + "\"";
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
wifiManager.reconnect();
```
这段代码将会创建一个 WifiConfiguration 对象,并设置 SSID 和 preSharedKey(密码)。然后它将在设备上添加此配置,并使用该配置连接到网络。注意,这段代码需要在 AndroidManifest.xml 中添加相应的权限(ACCESS_WIFI_STATE,CHANGE_WIFI_STATE,ACCESS_NETWORK_STATE 等)。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)