刚做完一个项目,觉得有必要总结一下。
一. 首先一些wifi配置连接的操作。
主要使用的类包括WifiManager,ScanResult,WifiInfo,NetworkInfo, DHCPInfo, ConnectiveManager, NetworkInterface, WifiConfiguration.
1. 得到WifiManager的实例:
WifiManager mWifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
打开Wifi,此时需要权限 :
public void openWifi() {
if(!mWifiManager.isWifiEnabled())
mWifiManager.setWifiEnabled(true);
}
关闭wifi:
public void closeWifi() {
if(mWifiManager.isWifiEnabled())
mWifiManager.setWifiEnabled(false);
}
得到连接目标wifi时AP的IP地址:
public String getServeredIPAdd() {
ConnectiveManager cntManager = (ConnectiveManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cntManager.getNetworkInfo(ConnectiveManager.TYPE_WIFI);
NetworkInfo.State state = netInfo.getState();
if(state == NetworkInfo.State.CONNECTED) {
DhcpInfo dhcpInfo = mWifiManager.getDhcpInfo();
return ipInt2String(dhcpInfo.serverAddress);
}
}
private String ipInt2String(int ip) {
int first = ip>>24&0xff;
if(first<0)
first = first+1+0xff;//
}