忘了贴一个方法了// wifi添加一个网络并连接
public void addNetwork(WifiConfiguration wcg) {
int wcgID = mWifiManager.addNetwork(wcg);
boolean b = mWifiManager.enableNetwork(wcgID, true);
System.out.println("a--" + wcgID);
System.out.println("b--" + b);
}
public void addNetwork(WifiConfiguration wcg) {
int wcgID = mWifiManager.addNetwork(wcg);
boolean b = mWifiManager.enableNetwork(wcgID, true);
System.out.println("a--" + wcgID);
System.out.println("b--" + b);
}
解决方案 »
- VMware或者VirtualBox安装android x86,怎样解决鼠标在虚拟机窗口和主机之间自由移动的问题?
- RadioGroup中调用setEnabled(false)不管用是怎么回事?有代码
- 请教Android播放流媒体问题
- android平台运行html5网页怎么去掉地址栏
- android webservice的问题?
- 如何测量wifi强度
- 百度地图api相关问题
- 关于android边下边放音乐的问题,怎样解决载入缓冲数据时停顿一下这个问题
- 如何在Android的Application里创建文件呀?
- 这个问号是什么意思
- 在适配器中操作Cursor读取数据库,先怎么调用数据库?
- 导入csv或其他数据文件到sqlite的问题。
open.addNetwork(open.CreateWifiInfo("Test", "lijiande", 3));
不能这样写吧,因为openWifi只是打开了wifi,但wifi打开是需要一段时间的,在addNetwork函数应该是在wifi已打开的情况下调用才行
应该注册一个广播用来接收wifi状态改变,在wifi打开后,再调用addNetwork
class wifiStateReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
Bundle bundle = intent.getExtras();
int newInt = bundle.getInt("wifi_state");
if( newInt==WifiManager.WIFI_STATE_ENABLED) {
Open open=new Open(c);
open.addNetwork(open.CreateWifiInfo("Test", "lijiande", 3));
}
}
}
while(true)
{
int a=open.wifiIsOpen(wm);
if(a==3)
{
open.addNetwork(open.CreateWifiInfo("Test", "lijiande", 3));
break;
}
}
//检测wifi是否开启 0 网卡正在关闭 1 网卡不可用 2 网卡正在打开 3 WIFI网卡可用 4 未知网卡状态
public int wifiIsOpen(WifiManager wm)
{
return wm.getWifiState();
}