在RK3188板卡上实现Wifi配置与连接,在网上搜索了一些资料了解到wifi连接流程,下面是从第一次刷机后的连接wifi流程
1、判断wifi是否启动如果没启动则打开wifi
2、扫描wifi根据要连接的wifi名称检索出想要的扫描结果
3、扫描结果判断该名称wifi的加密类型
4、根据wifi加密类型创建wifi配置
5、将wifi配置添加都wiifi配置列表,得到该配置的唯一ID;这部很重要
6、根据得到的配置ID进行连接wifi
先贴出自己实现的一个Wifi辅助类
package com.midea.test.factory.wifi;
import java.util.List;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiConfiguration.AuthAlgorithm;
import android.net.wifi.WifiConfiguration.KeyMgmt;
import android.net.wifi.WifiManager;
public class WifiHelper {
public static final int SECURITY_NONE = 0;
public static final int SECURITY_WEP = 1;
public static final int SECURITY_PSK = 2; // WPA、WPA2、WPA_WPA2
public static final int SECURITY_EAP = 3;
public static void startScan(Context context){
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
manager.startScan();
}
public static List<ScanResult> getScanResults(Context context){
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return manager.getScanResults();
}
public static boolean isWifiOpen(Context context){
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return manager.isWifiEnabled();
}
public static void setWifiEnabled(Context context,boolean isEnabled){
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
manager.setWifiEnabled(isEnabled); //是否打开需监听广播 WIFI_STATE_CHANGED_ACTION
}
public static int updateWifiConfiguration(Context context,WifiConfiguration configuration){
Wi