忘了贴一个方法了// 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); 
    }  

解决方案 »

  1.   

    open.openWifi();
    open.addNetwork(open.CreateWifiInfo("Test", "lijiande", 3));
    不能这样写吧,因为openWifi只是打开了wifi,但wifi打开是需要一段时间的,在addNetwork函数应该是在wifi已打开的情况下调用才行
    应该注册一个广播用来接收wifi状态改变,在wifi打开后,再调用addNetwork
      

  2.   

    大哥,按照你的思路写了,那个xml文件怎么配置呀 ,求指导。
    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));
          } 
         }
    }
      

  3.   

    已经解决了,不过我用的是笨方法,那个广播我不会注册和销毁,我就这么写的open.openWifi();
    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();
    }
      

  4.   

    谢谢啦 ,兄弟,其实我还是很想知道那个广播该怎么写,如果你方便的话,教教我好吗??可以参考源码中Setting模块中的WifiSettings.java
      

  5.   

    LZ  请教一下你的 wifi热点创建部分代码呢?
      

  6.   

    楼主,请问是如何连接指定WIFI啊 ?望回复啊,谢谢。
      

  7.   

    楼主 你的那个方法问题解决了吗?我发现我关闭Wifi 然后在打开,判断WIFI状态 然后create一个WifiConfiguration 老是不能马上连接上