自动连接指定wifi无密码方式错误解决办法.docx

上传人:b****2 文档编号:1962388 上传时间:2022-10-25 格式:DOCX 页数:12 大小:17.01KB
下载 相关 举报
自动连接指定wifi无密码方式错误解决办法.docx_第1页
第1页 / 共12页
自动连接指定wifi无密码方式错误解决办法.docx_第2页
第2页 / 共12页
自动连接指定wifi无密码方式错误解决办法.docx_第3页
第3页 / 共12页
自动连接指定wifi无密码方式错误解决办法.docx_第4页
第4页 / 共12页
自动连接指定wifi无密码方式错误解决办法.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

自动连接指定wifi无密码方式错误解决办法.docx

《自动连接指定wifi无密码方式错误解决办法.docx》由会员分享,可在线阅读,更多相关《自动连接指定wifi无密码方式错误解决办法.docx(12页珍藏版)》请在冰豆网上搜索。

自动连接指定wifi无密码方式错误解决办法.docx

自动连接指定wifi无密码方式错误解决办法

自动连接指定wifi(无密码方式错误)

/**

 * 网上好多自动连接WIFI的资料都同一个错误,估计大家都是抄的吧,但是都有一个问题,那就是无密码方式连接不上,后来终于找到解决办法,给大家共享一下

 */

packagecom.wells.tool;

importjava.util.List;

importcom.wells.activity.HomeActivity;

importandroid.content.Context;

import.wifi.ScanResult;

import.wifi.WifiConfiguration;

import.wifi.WifiInfo;

import.wifi.WifiManager;

import.wifi.WifiManager.WifiLock;

importandroid.util.Log;

/**

 *打开WIFI,自动连接wells网络

 * 

 *@authorliuyanping

 * 

 *    2014年7月18日

 */

publicclassOpenWifi{

//定义WifiManager对象

publicWifiManagermWifiManager;

//定义WifiInfo对象

privateWifiInfomWifiInfo;

//扫描出的网络连接列表

privateListmWifiList;

//网络连接列表

privateListmWifiConfiguration;

//定义一个WifiLock

WifiLockmWifiLock;

/**

 *构造器

 */

publicOpenWifi(Contextcontext){

//取得WifiManager对象

mWifiManager=(WifiManager)context

.getSystemService(Context.WIFI_SERVICE);

//取得WifiInfo对象

mWifiInfo=mWifiManager.getConnectionInfo();

}

/**

 *打开WIFI

 */

publicvoidopenWifi(){

if(!

mWifiManager.isWifiEnabled()){

mWifiManager.setWifiEnabled(true);

}

}

/**

 *关闭WIFI

 */

publicvoidcloseWifi(){

if(mWifiManager.isWifiEnabled()){

mWifiManager.setWifiEnabled(false);

}

}

/**

 *检查当前WIFI状态

 * 

 *@return

 */

publicintcheckState(){

returnmWifiManager.getWifiState();

}

/**

 *锁定WifiLock

 */

publicvoidacquireWifiLock(){

mWifiLock.acquire();

}

/**

 *解锁WifiLock

 */

publicvoidreleaseWifiLock(){

//判断时候锁定

if(mWifiLock.isHeld()){

mWifiLock.acquire();

}

}

/**

 *创建一个WifiLock

 */

publicvoidcreatWifiLock(){

mWifiLock=mWifiManager.createWifiLock("Test");

}

/**

 *得到配置好的网络

 * 

 *@return

 */

publicListgetConfiguration(){

returnmWifiConfiguration;

}

/**

 *提供一个外部接口,传入要连接的无线网

 * 

 *@paramssid

 *@parampassword

 *@paramtype

 */

publicvoidconnect(Stringssid,Stringpassword,inttype){

Threadthread=newThread(newConnectRunnable(ssid,password,type));

thread.start();

}

classConnectRunnableimplementsRunnable{

privatestaticfinalStringTAG="ConnectRunnable====";

privateStringssid;

privateStringpassword;

privateinttype;

publicConnectRunnable(Stringssid,Stringpassword,inttype){

this.ssid=ssid;

this.password=password;

this.type=type;

}

@Override

publicvoidrun(){

//打开wifi

openWifi();

//开启wifi功能需要一段时间(我在手机上测试一般需要1-3秒左右),所以要等到wifi

//状态变成WIFI_STATE_ENABLED的时候才能执行下面的语句

while(mWifiManager.getWifiState()==WifiManager.WIFI_STATE_ENABLING){

try{

//为了避免程序一直while循环,让它睡个100毫秒检测……

Thread.sleep(100);

}catch(InterruptedExceptionie){

}

}

WifiConfigurationwifiConfig=CreateWifiInfo(ssid,password,type);

//

if(wifiConfig==null){

Log.d(TAG,"wifiConfigisnull!

");

return;

}

WifiConfigurationtempConfig=IsExsits(ssid);

if(tempConfig!

=null){

mWifiManager.removeNetwork(tempCworkId);

}

intnetID=mWifiManager.addNetwork(wifiConfig);

booleanenabled=mWifiManager.enableNetwork(netID,true);

Log.d(TAG,"enableNetworkstatusenable="+enabled);

booleanconnected=mWifiManager.reconnect();

Log.d(TAG,"enableNetworkconnected="+connected);

}

}

/**

 *指定配置好的网络进行连接

 * 

 *@paramindex

 */

publicvoidconnectConfiguration(intindex){

//索引大于配置好的网络索引返回

if(index>mWifiConfiguration.size()){

return;

}

//连接配置好的指定ID的网络

mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId,

true);

}

publicvoidstartScan(){

mWifiManager.startScan();

//得到扫描结果

mWifiList=mWifiManager.getScanResults();

//得到配置好的网络连接

mWifiConfiguration=mWifiManager.getConfiguredNetworks();

}

/**

 *得到网络列表

 */

publicListgetWifiList(){

returnmWifiList;

}

/**

 *查看扫描结果

 * 

 *@return

 */

publicStringBuilderlookUpScan(){

StringBuilderstringBuilder=newStringBuilder();

for(inti=0;i

stringBuilder

.append("Index_"+newInteger(i+1).toString()+":

");

//将ScanResult信息转换成一个字符串包

//其中把包括:

BSSID、SSID、capabilities、frequency、level

stringBuilder.append((mWifiList.get(i)).toString());

stringBuilder.append("/n");

}

returnstringBuilder;

}

/**

 *得到MAC地址

 * 

 *@return

 */

publicStringgetMacAddress(){

return(mWifiInfo==null)?

"NULL":

mWifiInfo.getMacAddress();

}

/**

 *得到接入点的BSSID

 * 

 *@return

 */

publicStringgetBSSID(){

return(mWifiInfo==null)?

"NULL":

mWifiInfo.getBSSID();

}

/**

 *得到IP地址

 * 

 *@return

 */

publicintgetIPAddress(){

return(mWifiInfo==null)?

0:

mWifiInfo.getIpAddress();

}

/**

 *得到连接的ID

 * 

 *@return

 */

publicintgetNetworkId(){

return(mWifiInfo==null)?

0:

mWifiInfo.getNetworkId();

}

/**

 *得到WifiInfo的所有信息包

 * 

 *@return

 */

publicStringgetWifiInfo(){

return(mWifiInfo==null)?

"NULL":

mWifiInfo.toString();

}

/**

 *添加一个网络并连接

 * 

 *@paramwcg

 */

publicv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1