android 打开wifi代码
时间: 2024-01-07 21:05:12 浏览: 27
以下是在 Android 应用中打开 Wi-Fi 的示例代码:
```java
// 获取 Wi-Fi 管理器
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
// 检查 Wi-Fi 是否已经打开
if (!wifiManager.isWifiEnabled()) {
// 如果未打开,则打开 Wi-Fi
wifiManager.setWifiEnabled(true);
}
```
请注意,您需要在 AndroidManifest.xml 文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
```
相关问题
Android 代码控制WiFi
可以使用Android的WifiManager类来控制WiFi。以下是一个简单的例子,演示如何连接到WiFi网络:
首先,在AndroidManifest.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_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
```
然后,在你的Activity中添加以下代码:
```
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true); //开启WiFi
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = "\"YOUR_SSID_HERE\"";
wifiConfig.preSharedKey = "\"YOUR_PASSWORD_HERE\"";
wifiManager.addNetwork(wifiConfig);
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"YOUR_SSID_HERE\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
break;
}
}
```
这个代码片段将连接到名为"YOUR_SSID_HERE"的WiFi网络,并使用"YOUR_PASSWORD_HERE"作为密码。如果WiFi网络需要其他类型的验证,如用户名和密码,请根据需要更改wifiConfig对象。
android 11 代码连接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"/>
```