android 11 代码连接wifi
时间: 2023-07-30 14:10:09 浏览: 206
android Wifi连接代码
连接 Wi-Fi 的代码主要分为以下几个步骤:
1. 获取 Wi-Fi 管理器对象
```java
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
```
2. 打开 Wi-Fi
如果手机的 Wi-Fi 没有打开,需要打开 Wi-Fi:
```java
if (!wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(true);
}
```
3. 搜索可用的 Wi-Fi 网络
```java
wifiManager.startScan();
List<ScanResult> results = wifiManager.getScanResults();
```
4. 连接 Wi-Fi
根据搜索到的 Wi-Fi 列表,选择需要连接的 Wi-Fi,然后调用 `WifiManager` 的 `enableNetwork()` 方法连接:
```java
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = "\"SSID\"";
wifiConfig.preSharedKey = "\"password\"";
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.enableNetwork(netId, true);
```
其中,`SSID` 是 Wi-Fi 的名称,`password` 是 Wi-Fi 的密码。
完整的代码示例如下:
```java
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(true);
}
wifiManager.startScan();
List<ScanResult> results = wifiManager.getScanResults();
for (ScanResult result : results) {
if (result.SSID.equals("SSID")) {
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = "\"SSID\"";
wifiConfig.preSharedKey = "\"password\"";
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.enableNetwork(netId, true);
break;
}
}
```
注意:需要在 AndroidManifest.xml 文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
```
阅读全文