android下为自己定义wifimanager类
来源:互联网 发布:dmp文件如何导入数据库 编辑:程序博客网 时间:2024/05/16 23:01
package com.FIDO.wifi;import java.util.List;import android.content.Context;import android.net.wifi.ScanResult;import android.net.wifi.WifiConfiguration;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.net.wifi.WifiManager.WifiLock;public class wifiManager {private WifiManager wifiManager; //wifi 管理private WifiInfo wifiInfo; //wifi 信息private List<ScanResult>scanResultList; //扫描出来的网络列表private List<WifiConfiguration>wifiConfigList;//网络配置列表private WifiLock wifiLock; //wifi锁//获取连接信息public wifiManager(Context context){//获取当前wifi服务this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);this.wifiInfo = wifiManager.getConnectionInfo();}//得到连接信息public boolean getWifiStatus(){ return wifiManager.isWifiEnabled();}//打开 / 关闭wifipublic boolean openWifi(){ if(!wifiManager.isWifiEnabled()){return wifiManager.setWifiEnabled(true);}else{return false;}}public boolean closeWifi(){ if(!wifiManager.isWifiEnabled()){return true;}else{return wifiManager.setWifiEnabled(false);}}// 其实锁定WiFI就是判断wifi是否建立成功,在这里使用的是held,握手的意思acquire 得到public void lockWifi(){ wifiLock.acquire();}public void unLockWifi(){ if(!wifiLock.isHeld()){ wifiLock.release(); }}// 创建wifi锁,考虑到不是每次都会使用Wifi锁,所以干脆自己建立一个方法!需要时调用,建立就OKpublic void createWifiLock(){ wifiLock = wifiManager.createWifiLock("hanzhen");}//扫描网络public void startScan(){ wifiManager.startScan(); scanResultList = wifiManager.getScanResults(); //扫描 返回结果列表 wifiConfigList = wifiManager.getConfiguredNetworks(); //扫描 配置列表 }public List<ScanResult>getWifiList(){ return scanResultList;}public List<WifiConfiguration>getWifiConfigList(){ return wifiConfigList;}//获取扫描列表public StringBuilder lookUpscan(){StringBuilder scanBuilder = new StringBuilder();for(int i=0; i<scanResultList.size(); i++){scanBuilder.append("编号:"+(i+1));scanBuilder.append(scanResultList.get(i).toString());scanBuilder.append("\n");}return scanBuilder;}//获取指定信号的强度public int getLevel(int NetId){return scanResultList.get(NetId).level;}//获取本机MAC地址public String getMac(){return (wifiInfo == null) ? "" : wifiInfo.getMacAddress();}public String getBSSID(){return (wifiInfo == null) ? null : wifiInfo.getBSSID();}public String getSSID(){return (wifiInfo == null) ? null : wifiInfo.getSSID();}//返回当前连接的网络IDpublic int getCurrentNetId(){return (wifiInfo == null) ? null : wifiInfo.getNetworkId();}//返回所有信息public String getwifiInfo(){return (wifiInfo == null) ? null : wifiInfo.toString();}//返回IP 地址private String intToIp(int i){return (i&0xff)+"."+((i>>8)&0xff)+"."+((i>>16)&0xff)+"."+((i>>24)&0xff);}public String getIp(){return (wifiInfo == null) ? null : intToIp(wifiInfo.getIpAddress());} //添加一个连接public boolean addNetWorkLink(WifiConfiguration config){int NetId = wifiManager.addNetwork(config);return wifiManager.enableNetwork(NetId, true);}//禁用一个连接public boolean disableNetWorkLink(int NetId){wifiManager.disableNetwork(NetId);return wifiManager.disconnect();}//移除一个连接public boolean removeNetWorkLink(int NetId){return wifiManager.removeNetwork(NetId);}//不显示SSIDpublic void hiddenSSID(int NetId){wifiConfigList.get(NetId).hiddenSSID = true;}//显示SSIDpublic void displaySSID(int NetId){wifiConfigList.get(NetId).hiddenSSID = false;}}
----------------------------------------------------------
根据个人情况可加入log查验错误。
*******************************************************************************
13-3-29 飞扬小米(记)
- android下为自己定义wifimanager类
- Android下为自己定义WifiManager类wifi模块代码
- android WifiManager
- MVC下,修改用户验证为自己定义的数据表
- android学习之wifimanager
- Android WifiManager.WifiLock 简介
- Android WifiManager.WifiLock 简介
- android学习之wifimanager
- Android WifiManager.WifiLock 简介
- Android WifiManager.WifiLock 简介
- android学习之wifimanager
- Android WifiManager.WifiLock 简介
- Android WifiManager.WifiLock 简介
- android学习之wifimanager
- Android WifiManager.WifiLock 简介
- Android WifiManager 中的常量
- Android WifiManager 中的常量
- Android基础之WifiManager
- ARM中的RO段、RW段和ZI段的区别
- VS2005 编译 Qt4.3.2 问题解决备忘
- SQL Server数据库巡检脚本
- gerrit init及邮箱配置
- ASP.NET Dropdownlist 错误 "Cannot have multiple items selected in a DropDownList."
- android下为自己定义wifimanager类
- Zend Studio 8 如何修改为UTF-8编码
- snprintf()使用Warn提示:warning: format not a string literal and no format arguments
- eclipse导入existing 文件时候乱码问题
- 字符指针变量和字符数组的区别
- Magento: 通过category name获取category信息
- xml基础知识
- iOS与Java服务器GZip压缩问题
- mysql delete和truncate区别