【问题标题】:Connect to wifi network in android, return if incorrect password在android中连接wifi网络,密码错误返回
【发布时间】:2011-08-24 06:48:37
【问题描述】:

我想做一个让用户连接到 wifi 网络的应用程序,但是我无法连接到网络

我当前的代码是:

    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);

我认为这与我的网络配置不同的设置(在我的评论之后)有关,但我不知道如何从 ScanResult 中获取这些设置..

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

【问题讨论】:

  • 嘿伙计,你在那个问题上找到了什么吗?

标签: android wifi connect


【解决方案1】:

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

【讨论】:

  • 我有 access_wifi_state、change_wifi_state 和 access_network_state
【解决方案2】:

检查你的设备是否启用了WIFI,记住在模拟器中你不能检查它

如果 WIFI 在警报的 onclick 中被禁用,您可以像这样显示 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();

            }

并在您的 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 没有开启是问题(总是如此!)
  • 那么你的问题是什么?编辑你的问题并提出确切的要求。你怎么能期望一个不正确的问题的正确答案!
猜你喜欢
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2021-03-29
  • 2014-05-14
相关资源
最近更新 更多