android11 连接指定wifi代码
时间: 2023-10-08 15:08:06 浏览: 227
Android下自动连接指定SSID的WIFI的简单实现的demo
3星 · 编辑精心推荐
以下是Android 11连接指定WiFi的代码示例:
1. 首先,需要获取WiFi的SSID和密码:
```java
String ssid = "WiFi名称";
String password = "WiFi密码";
```
2. 接下来,需要创建一个WifiNetworkSpecifier对象,用于指定要连接的WiFi:
```java
WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
.setSsid(ssid)
.setWpa2Passphrase(password)
.build();
```
3. 然后,需要创建一个NetworkRequest对象,用于请求连接到指定的WiFi:
```java
NetworkRequest request = new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.setNetworkSpecifier(specifier)
.build();
```
4. 接下来,需要注册一个NetworkCallback回调函数,用于监听网络连接状态:
```java
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
// WiFi已连接
}
@Override
public void onLost(Network network) {
// WiFi已断开
}
};
connectivityManager.requestNetwork(request, networkCallback);
```
5. 最后,需要在应用退出时取消网络请求:
```java
connectivityManager.unregisterNetworkCallback(networkCallback);
```
以上示例代码可以帮助您在Android 11中连接指定的WiFi。请注意,需要在AndroidManifest.xml中声明以下权限:
```xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
```
阅读全文