自动连接指定wifi无密码方式错误解决办法Word格式文档下载.docx
- 文档编号:14881477
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:12
- 大小:17.01KB
自动连接指定wifi无密码方式错误解决办法Word格式文档下载.docx
《自动连接指定wifi无密码方式错误解决办法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《自动连接指定wifi无密码方式错误解决办法Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
*打开WIFI,自动连接wells网络
*@authorliuyanping
*
2014年7月18日
publicclassOpenWifi{
//定义WifiManager对象
publicWifiManagermWifiManager;
//定义WifiInfo对象
privateWifiInfomWifiInfo;
//扫描出的网络连接列表
privateList<
ScanResult>
mWifiList;
//网络连接列表
WifiConfiguration>
mWifiConfiguration;
//定义一个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()){
*创建一个WifiLock
publicvoidcreatWifiLock(){
mWifiLock=mWifiManager.createWifiLock("
Test"
);
*得到配置好的网络
publicList<
getConfiguration(){
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);
enableNetworkstatusenable="
+enabled);
booleanconnected=mWifiManager.reconnect();
enableNetworkconnected="
+connected);
*指定配置好的网络进行连接
*@paramindex
publicvoidconnectConfiguration(intindex){
//索引大于配置好的网络索引返回
if(index>
mWifiConfiguration.size()){
//连接配置好的指定ID的网络
mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId,
true);
publicvoidstartScan(){
mWifiManager.startScan();
//得到扫描结果
mWifiList=mWifiManager.getScanResults();
//得到配置好的网络连接
mWifiConfiguration=mWifiManager.getConfiguredNetworks();
*得到网络列表
getWifiList(){
returnmWifiList;
*查看扫描结果
publicStringBuilderlookUpScan(){
StringBuilderstringBuilder=newStringBuilder();
for(inti=0;
i<
mWifiList.size();
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地址
publicStringgetMacAddress(){
return(mWifiInfo==null)?
"
NULL"
:
mWifiInfo.getMacAddress();
*得到接入点的BSSID
publicStringgetBSSID(){
mWifiInfo.getBSSID();
*得到IP地址
publicintgetIPAddress(){
0:
mWifiInfo.getIpAddress();
*得到连接的ID
publicintgetNetworkId(){
mWifiInfo.getNetworkId();
*得到WifiInfo的所有信息包
publicStringgetWifiInfo(){
mWifiInfo.toString();
*添加一个网络并连接
*@paramwcg
publicv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 连接 指定 wifi 密码 方式 错误 解决办法
![提示](https://static.bdocx.com/images/bang_tan.gif)