Android WIFI功能开发<2>对WIfi的操作
  7xuzTHwScvxO 2023年11月02日 35 0
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;

}


 }

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

7xuzTHwScvxO
最新推荐 更多

2024-05-31