Android WIFI功能开发<2>对WIfi的操作
来源:互联网 发布:linux谁的视频好 编辑:程序博客网 时间:2024/06/06 00:43
package cn.jarlen.tools;
import java.util.ArrayList;
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;
/**
* 主要是对WIfi的操作;其中
* 1. ScanResult:主要是用来描述已经检测出的接入点,包括接入点的地址,名称,
* 身份验证,频率,信号强度等信息
* 2. WiFiConfiguration : WiFi配置
*
* 3. WifiInfo : WIFI无线连接的描述,包括接入点,网络连接状态,隐藏的接入点,IP地址,连接速度
* MAC地址,网络ID,信号强度等信息
*
* getBSSID() 获取BSSID
* getDetailedStateOf() 获取客户端的连通性
* getHiddenSSID() 获得SSID 是否被隐藏
* getIpAddress() 获取IP 地址
* getLinkSpeed() 获得连接的速度
* getMacAddress() 获得Mac 地址
* getRssi() 获得802.11n 网络的信号
* getSSID() 获得SSID
* getSupplicanState() 返回具体客户端状态的信息
*
* @author jarlen
*
*/
public class WiFiManagerTool {
private WifiManager mWiFiManager;
private WifiLock mWifiLock;
private ArrayList<ScanResult> wifiScanResult;/* 搜索到的wifi信息 */
private ArrayList<WifiConfiguration> wifiConfigurations; /* 已经连接配置好的wifi信息 */
private WifiInfo mWiFiInfo;/* wifi信息 */
public WiFiManagerTool(Context context){
/* 声明一个wifi管理器,用来管理操作wifi*/
mWiFiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
/* wifi信息 */
mWiFiInfo = mWiFiManager.getConnectionInfo();
}
/**
* open wifi
*/
public void openWiFi(){
if(!mWiFiManager.isWifiEnabled()){
mWiFiManager.setWifiEnabled(true);
}
}
/**
* close wifi
*/
public void closeWiFi(){
if(mWiFiManager.isWifiEnabled()){
mWiFiManager.setWifiEnabled(false);
}
}
/**
* get state of wifi
* @return
*/
public int getWifiState(){
return mWiFiManager.getWifiState();
}
/**
* scan wifi all around
*/
public void startScan(){
mWiFiManager.startScan();
wifiScanResult = (ArrayList<ScanResult>) mWiFiManager.getScanResults();
wifiConfigurations = (ArrayList<WifiConfiguration>) mWiFiManager.getConfiguredNetworks();
}
public ArrayList<WifiConfiguration> getWifiConfigurationList(){
return wifiConfigurations;
}
public ArrayList<ScanResult> getWiFiScanResultList(){
return wifiScanResult;
}
/**
* 创建一个wifi lock,能够阻止wifi进入睡眠状态,使wifi一直处于活跃状态
* @param lockName
*/
public void createWiFiLock(String lockName){
mWifiLock = mWiFiManager.createWifiLock(lockName);
//return mWifiLock;
}
/**
* 获得wifi锁
*/
public void lockWiFi(){
if(!mWifiLock.isHeld()){
mWifiLock.acquire();
}
}
/**
* 释放wifi 锁
*/
public void releaseWiFiLock(){
if(mWifiLock.isHeld()){
mWifiLock.release();
}
}
/**
* 连接特定的配置好的wifi
* @param index
*/
public void connectionConfiguration(int index){
if(index > wifiConfigurations.size()){
return;
}
else{
mWiFiManager.enableNetwork(wifiConfigurations.get(index).networkId, true);
}
}
public WifiInfo getConnectionInfo(){
return mWiFiInfo;
}
}
import java.util.ArrayList;
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;
/**
* 主要是对WIfi的操作;其中
* 1. ScanResult:主要是用来描述已经检测出的接入点,包括接入点的地址,名称,
* 身份验证,频率,信号强度等信息
* 2. WiFiConfiguration : WiFi配置
*
* 3. WifiInfo : WIFI无线连接的描述,包括接入点,网络连接状态,隐藏的接入点,IP地址,连接速度
* MAC地址,网络ID,信号强度等信息
*
* getBSSID() 获取BSSID
* getDetailedStateOf() 获取客户端的连通性
* getHiddenSSID() 获得SSID 是否被隐藏
* getIpAddress() 获取IP 地址
* getLinkSpeed() 获得连接的速度
* getMacAddress() 获得Mac 地址
* getRssi() 获得802.11n 网络的信号
* getSSID() 获得SSID
* getSupplicanState() 返回具体客户端状态的信息
*
* @author jarlen
*
*/
public class WiFiManagerTool {
private WifiManager mWiFiManager;
private WifiLock mWifiLock;
private ArrayList<ScanResult> wifiScanResult;/* 搜索到的wifi信息 */
private ArrayList<WifiConfiguration> wifiConfigurations; /* 已经连接配置好的wifi信息 */
private WifiInfo mWiFiInfo;/* wifi信息 */
public WiFiManagerTool(Context context){
/* 声明一个wifi管理器,用来管理操作wifi*/
mWiFiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
/* wifi信息 */
mWiFiInfo = mWiFiManager.getConnectionInfo();
}
/**
* open wifi
*/
public void openWiFi(){
if(!mWiFiManager.isWifiEnabled()){
mWiFiManager.setWifiEnabled(true);
}
}
/**
* close wifi
*/
public void closeWiFi(){
if(mWiFiManager.isWifiEnabled()){
mWiFiManager.setWifiEnabled(false);
}
}
/**
* get state of wifi
* @return
*/
public int getWifiState(){
return mWiFiManager.getWifiState();
}
/**
* scan wifi all around
*/
public void startScan(){
mWiFiManager.startScan();
wifiScanResult = (ArrayList<ScanResult>) mWiFiManager.getScanResults();
wifiConfigurations = (ArrayList<WifiConfiguration>) mWiFiManager.getConfiguredNetworks();
}
public ArrayList<WifiConfiguration> getWifiConfigurationList(){
return wifiConfigurations;
}
public ArrayList<ScanResult> getWiFiScanResultList(){
return wifiScanResult;
}
/**
* 创建一个wifi lock,能够阻止wifi进入睡眠状态,使wifi一直处于活跃状态
* @param lockName
*/
public void createWiFiLock(String lockName){
mWifiLock = mWiFiManager.createWifiLock(lockName);
//return mWifiLock;
}
/**
* 获得wifi锁
*/
public void lockWiFi(){
if(!mWifiLock.isHeld()){
mWifiLock.acquire();
}
}
/**
* 释放wifi 锁
*/
public void releaseWiFiLock(){
if(mWifiLock.isHeld()){
mWifiLock.release();
}
}
/**
* 连接特定的配置好的wifi
* @param index
*/
public void connectionConfiguration(int index){
if(index > wifiConfigurations.size()){
return;
}
else{
mWiFiManager.enableNetwork(wifiConfigurations.get(index).networkId, true);
}
}
public WifiInfo getConnectionInfo(){
return mWiFiInfo;
}
}
0 0
- Android WIFI功能开发<2>对WIfi的操作
- Android开发--Wifi的操作
- android 对WIFI 操作
- Android WiFi功能开发
- Android之对Wifi的操作
- Android WIFI功能开发<1>
- Android WiFi模块功能开发
- Android的WiFi操作
- android的wifi操作
- Android开发之WIFI操作
- Android开发之WIFI操作
- Android平台开发-WIFI function porting-WIFI功能移植
- Android平台开发-WIFI function porting-WIFI功能移植
- Android平台开发-WIFI function porting-WIFI功能移植
- Android平台开发-WIFI function porting-WIFI功能移植
- Android平台开发-WIFI function porting-WIFI功能移植
- Android平台开发-WIFI function porting-WIFI功能移植
- Android平台开发-WIFI function porting-WIFI功能移植
- cocos2dx 3.0 显示中文及乱码解决方案
- EAS系统自定义公式及参数配置表。
- 二叉排序树
- [GEM5学习]2、GEM5模块继承关系和运行机制解析
- 算法导论第13(十三)章红黑树
- Android WIFI功能开发<2>对WIfi的操作
- poj 1258 有向图变无向图 求最小生成树
- javascript基础知识点(with)2
- extjs关于tree的远程加载
- Trie树
- Struts2 中There is no Action mapped for action name helloword
- web前端开发之Web移动开发/WebApp开发技术
- Java线程:创建与启动
- C#程序架构