连接到android中的wifi网络,如果密码不正确,请返回

连接到android中的wifi网络,如果密码不正确,请返回,android,wifi,connect,Android,Wifi,Connect,我想做一个应用程序,让用户连接到一个无线网络,但我有麻烦获得一个网络连接 我目前的代码是: WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE); wifi.setWifiEnabled(true); WifiConfiguration wc = new WifiConfiguration(); wifi.startScan(); List<ScanResult> l=w

我想做一个应用程序,让用户连接到一个无线网络,但我有麻烦获得一个网络连接

我目前的代码是:

    WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE);
    wifi.setWifiEnabled(true);
    WifiConfiguration wc = new WifiConfiguration();
    wifi.startScan();
    List<ScanResult> l=wifi.getScanResults();
    wc.SSID = l.get(NUMBER).SSID;
    post(wc.SSID);
    /*This is the bit that I think is failing, my network does not have these properties.. but I can't see how to get them from the Scan Result*/
    wc.preSharedKey  = "\"passw0rd123\"";
    wc.hiddenSSID = false;
    wc.status = WifiConfiguration.Status.ENABLED;        
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
    wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
    int res = wifi.addNetwork(wc);
    post("add Network returned " + res);
    boolean b = wifi.enableNetwork(res, true);        
    post("enableNetwork returned " + b);
WifiManager wifi=(WifiManager)getSystemService(wifi_服务);
wifi.setWifiEnabled(true);
WifiConfiguration wc=新的WifiConfiguration();
wifi.startScan();
列表l=wifi.getScanResults();
wc.SSID=l.get(NUMBER).SSID;
职位(wc.SSID);
/*这是我认为失败的地方,我的网络没有这些属性。。但我看不出如何从扫描结果中得到它们*/
wc.preSharedKey=“\”passw0rd123\”;
wc.hiddenSSID=false;
wc.status=WifiConfiguration.status.ENABLED;
AlloweGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
AlloweGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(wificonfig.keymanagement.WPA\u PSK);
wc.allowedPairwisecipher.set(WifiConfiguration.Pairwiseciper.TKIP);
wc.allowedPairwisecipher.set(WifiConfiguration.Pairwiseciper.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
int res=wifi.addNetwork(wc);
post(“添加返回的网络”+res);
布尔b=wifi.enableNetwork(res,true);
post(“启用网络返回”+b);
我认为这与设置(在我的评论之后)有关,这些设置与我的网络配置不同,但我不知道如何从ScanResult获取这些设置

编辑:
我还想知道它是否已正确连接。

确保您在AndroidManifest.xml文件中设置了正确的权限

检查您的设备中是否启用了WIFI,并记住emulator中您无法检查它

如果WIFI在警报中被禁用,你可以像这样显示WIFI设置页面

 WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

           if ((wifi.isWifiEnabled() == true)) {

      Toast.makeText(RegisterActivity.this,"MOBILE Is Connected TO WI-FI!",
              }

              else {

                AlertDialog.Builder WIFIOFF = new Builder(MyTestglobe.this);
                WIFIOFF.setCancelable(false);
                WIFIOFF.setTitle("Connection Error");
                WIFIOFF.setMessage(" Please Enable Your WIFI/INTERNET !");
                WIFIOFF.setPositiveButton("Ok",
                new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int which) {
             startActivity(new Intent( Settings.ACTION_WIFI_SETTINGS));

                            }
                        });
                WIFIOFF.show();

            }
并在ur Manifest.xml中提供这些权限

        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
       <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>


我做一个wifimanager.setWifiEnabled(true);我不认为wifi不开通是问题所在(总是这样!),那么你的问题是什么呢?编辑您的问题并附带确切的要求。不正确的问题怎么可能得到正确的答案!我已经进入无线状态,改变无线状态,进入网络状态嘿,老兄,你在那个问题上有什么进展吗?