当前位置: 代码迷 >> Android >> android wifi 处置
  详细解决方案

android wifi 处置

热度:452   发布时间:2016-05-01 20:46:27.0
android wifi 处理

在android应用程序中可以很方便的使用wifi来处理不同的应用需求,灵活而方面的方法提供给开发者,这里定义了一些常用的wifi处理函数,参考android应用开发解密第八章内容

public class WifiAdmin {	private String tag = "WifiAdmin";	private WifiManager wifiManager;	private WifiInfo wifiInfo;	private List<ScanResult> wifiList;	private List<WifiConfiguration> wifiConfiguration;	WifiLock wifiLock;	public WifiAdmin(Context context) {		wifiManager = (WifiManager) context				.getSystemService(Context.WIFI_SERVICE);		wifiInfo = wifiManager.getConnectionInfo();	}		//连接wifi ssid	public void connected(){		for(WifiConfiguration config:getConfiguration()){			String ssid = config.SSID.replace("\"", "");			if(config.status!=1){				Log.i(tag, "ssid--------->"+ssid);				if(ssid.startsWith("OPLK")){					this.connectConfiguration(config.networkId);					while (getWifiState() == WifiManager.WIFI_STATE_ENABLING) {						try {							Thread.currentThread();							Thread.sleep(100);						} catch (InterruptedException ie) {						}					}					break;				}			}		}	}	public int getWifiState(){		return wifiManager.getWifiState();	}	//打开wifi	public void openWifi() {		if (!wifiManager.isWifiEnabled()) {			wifiManager.setWifiEnabled(true);		}	}	//关闭wifi	public void closeWifi() {		if (!wifiManager.isWifiEnabled()) {			wifiManager.setWifiEnabled(false);		}	}	//允许一直使用wifi	public void acquireWifiLock() {		wifiLock.acquire();	}	//释放wifi	public void releaseWifiLock() {		if (wifiLock.isHeld()) {			wifiLock.acquire();		}	}	public void creatWifiLock() {		wifiLock = wifiManager.createWifiLock("Test");	}	public List<WifiConfiguration> getConfiguration() {		return wifiConfiguration;	}	public void connectConfiguration(int networkId) {		boolean isConn = wifiManager.enableNetwork(networkId, true);		Log.i(tag, "isConn----->"+isConn);	}	public void startScan() {		wifiManager.startScan();		wifiList = wifiManager.getScanResults();		wifiConfiguration = wifiManager.getConfiguredNetworks();		Log.i(tag, "start scan wifi list size------>"+wifiList.size());	}	public List<ScanResult> getWifiList() {		return wifiList;	}	public void LookUpScan() {		for (ScanResult result:wifiList) {			Log.i(tag, "wifi ssid---->"+result.SSID);		}	}	public String GetMacAddress() {		return (wifiInfo == null) ? "NULL" : wifiInfo.getMacAddress();	}	public String GetBSSID() {		return (wifiInfo == null) ? "NULL" : wifiInfo.getBSSID();	}	public int GetIPAddress() {		return (wifiInfo == null) ? 0 : wifiInfo.getIpAddress();	}	public int GetNetworkId() {		return (wifiInfo == null) ? 0 : wifiInfo.getNetworkId();	}	public String GetWifiInfo() {		return (wifiInfo == null) ? "NULL" : wifiInfo.toString();	}	public void AddNetwork(WifiConfiguration wcg) {		int wcgID = wifiManager.addNetwork(wcg);		wifiManager.enableNetwork(wcgID, true);	}	public void DisconnectWifi(int netId) {		wifiManager.disableNetwork(netId);		wifiManager.disconnect();	}}

?

?

  相关解决方案