无线管理的帮助类
来源:互联网 发布:windows loader原版 编辑:程序博客网 时间:2024/05/16 13:44
android 无线管理的帮助类、
安卓wifi操作的封装 希望和大家一起 交流和学习 QQ群: 群号是1160373684
private WifiManager wifiManager;// 声明Wifi管理对象
private WifiInfo wifiInfo;// Wifi信息
private List<ScanResult> scanResultList; // 扫描出来的网络连接列表
private List<WifiConfiguration> wifiConfigList;// 网络配置列表
private WifiLock wifiLock;// Wifi锁
/**
* 构造函数
* @param context
*/
public WifiHelper(Context context){
this.wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);// 获取Wifi服务
// 得到Wifi信息
this.wifiInfo = wifiManager.getConnectionInfo();// 得到连接信息
}
/**
* Wifi状态.
* @return
*/
public boolean isWifiEnabled(){
return wifiManager.isWifiEnabled();
}
/**
* 打开 wifi
* @return
*/
public boolean openWifi(){
if (!isWifiEnabled()) {
return wifiManager.setWifiEnabled(true);
} else {
return false;
}
}
/**
* 关闭Wifi
* @return
*/
public boolean closeWifi(){
if (!isWifiEnabled()) {
return true;
} else {
return wifiManager.setWifiEnabled(false);
}
}
/**
* 锁定wifi
* 锁定WiFI就是判断wifi是否建立成功,在这里使用的是held(握手) acquire
*/
public void lockWifi() {
wifiLock.acquire();
}
/**
* 解锁wifi
*/
public void unLockWifi() {
if (!wifiLock.isHeld()) {
wifiLock.release(); // 释放资源
}
}
/**
* 创建一个Wifi锁,需要时调用
*/
public void createWifiLock() {
wifiLock = wifiManager.createWifiLock("flyfly"); // 创建一个锁的标志
}
/**
* 扫描网络
*/
public void startScan() {
wifiManager.startScan();
scanResultList = wifiManager.getScanResults(); // 扫描返回结果列表
wifiConfigList = wifiManager.getConfiguredNetworks(); // 扫描配置列表
}
public List<ScanResult> getWifiList() {
return scanResultList;
}
public List<WifiConfiguration> getWifiConfigList() {
return wifiConfigList;
}
/**
* 获取扫描WIFI列表的信息
* @return
*/
public String lookupScanInfo() {
StringBuilder scanBuilder = new StringBuilder();
if(scanResultList == null){
return "";
}
for (int i = 0; i < scanResultList.size(); i++) {
ScanResult sResult = scanResultList.get(i);
scanBuilder.append("编号:" + (i + 1));
scanBuilder.append(" ");
scanBuilder.append(sResult.toString()); //所有信息
scanBuilder.append("\n");
}
scanBuilder.append("--------------华丽分割线--------------------");
for(int i=0;i<wifiConfigList.size();i++){
scanBuilder.append(wifiConfigList.get(i).toString());
scanBuilder.append("\n");
}
return scanBuilder.toString();
}
/**
* 获取指定Wifi的ssid名称
* @param NetId
* @return
*/
public String getSSID(int NetId){
return scanResultList.get(NetId).SSID;
}
/**
* 获取指定Wifi的物理地址
* @param NetId
* @return
*/
public String getBSSID(int NetId){
return scanResultList.get(NetId).BSSID;
}
/**
* 获取指定Wifi的频率
* @param NetId
* @return
*/
public int getFrequency(int NetId){
return scanResultList.get(NetId).frequency;
}
/**
* 获取指定Wifi的功能
* @param NetId
* @return
*/
public String getCapabilities(int NetId){
return scanResultList.get(NetId).capabilities;
}
/**
* 获取指定Wifi的信号强度
* @param NetId
* @return
*/
public int getLevel(int NetId){
return scanResultList.get(NetId).level;
}
/**
* 获取本机Mac地址
* @return
*/
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();
}
/**
* 返回当前连接的网络的ID
* @return
*/
public int getCurrentNetId() {
return (wifiInfo == null) ? null : wifiInfo.getNetworkId();
}
/**
* 返回所有信息
* @return
*/
public String getWifiInfo() {
return (wifiInfo == null) ? null : wifiInfo.toString();
}
/**
* 获取IP地址
* @return
*/
public int getIP() {
return (wifiInfo == null) ? null : wifiInfo.getIpAddress();
}
/**
* 添加一个连接
* @param config
* @return
*/
public boolean addNetWordLink(WifiConfiguration config) {
int NetId = wifiManager.addNetwork(config);
return wifiManager.enableNetwork(NetId, true);
}
/**
* 禁用一个链接
* @param NetId
* @return
*/
public boolean disableNetWordLink(int NetId) {
wifiManager.disableNetwork(NetId);
return wifiManager.disconnect();
}
/**移除一个链接
*
* @param NetId
* @return
*/
public boolean removeNetworkLink(int NetId) {
return wifiManager.removeNetwork(NetId);
}
/**
* 不显示SSID
* @param NetId
*/
public void hiddenSSID(int NetId){
wifiConfigList.get(NetId).hiddenSSID=true;
}
/**
* 显示SSID
* @param NetId
*/
public void displaySSID(int NetId){
wifiConfigList.get(NetId).hiddenSSID=false;
}
}
- 无线管理的帮助类
- 基于ZigBee的无线管理系统设计
- 安卓wifi管理操作帮助类
- NPOI数据导入导出帮助管理类
- 帮助类的实现
- 采用帮助类的方式更改管理界面网格数据后刷新
- 帮助中心管理系统
- 帮助中心管理系统
- Linux 命令行管理无线
- Linux 命令行管理无线
- Android无线管理
- linux的常见帮助命令和用户管理命令
- Signal Harnesses帮助您管理配线的复杂性
- 管理好你的时间,帮助团队克服拖延症
- 客户管理系统对企业管理的4大帮助
- 车辆出入无线管理与调度系统的设计
- 脚本代码,管理win7的虚拟无线热点
- IT运维管理:确保无线网络安全的四秘诀
- python常见模块命令(os/sys/platform)
- ICoverageAnnotationFeature注记字符串内容获取
- java import、package作用与用法
- 关于大数运算(不完整版)
- JAVA学习笔记之三
- 无线管理的帮助类
- Heritrix简易搜索引擎实现步骤
- 随机插入100个整数
- 浅谈linux性能调优之二十:模块管理与内核编译
- Struts2标签使用
- 《Linux命令行与shell脚本编程大全》讲解太好了
- Android程序Crash时的异常上报
- java中的Map
- 深圳测试研讨会圆满结束,PPT共享