android连不上wifi密码,(Android开发)WiFi无密码保护时连接不上

在Android开发中,遇到无密码保护的WiFi无法连接的问题,主要原因是代码中配置了不必要的wepKeys和wepTxKeyIndex。通过注释掉这两行代码可以成功连接无密码WiFi。同时,SSID需加双引号,BSSID不加,否则也会导致连接失败。
摘要由CSDN通过智能技术生成

在开发WiFi功能时,在网上找到的大多连接方式都是下面这样,需要密码时这样没问题,但是遇到无密码保护的WiFi就连接不上了:

private WifiConfiguration createConfiguration(AccessPoint ap) {

String SSID = ap.getSsid();

String BSSID = ap.getBssid();

WifiConfiguration config = new WifiConfiguration();

config.allowedAuthAlgorithms.clear();

config.allowedGroupCiphers.clear();

config.allowedKeyManagement.clear();

config.allowedPairwiseCiphers.clear();

config.allowedProtocols.clear();

// SSID要加双引号,而BSSID不加双引号,否则连接失败

config.SSID = "\"" + SSID + "\"";

config.BSSID = BSSID;

String encryptionType = ap.getEncryptionType();

String password = ap.getPassword();

Log.d(TAG, "createConfiguration: SSID = " + SSID + ", password = " + password + ", e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中,可以通过以下方法检测WiFi连接是否可用: 1. 使用ConnectivityManager类检查网络连接状态。使用该类的`getActiveNetworkInfo()`方法可以获取当前设备的网络连接状态。如果返回的对象为null,表示设备当前没有可用的网络连接。 2. 使用WifiManager类检查WiFi连接状态。使用该类的`getConnectionInfo()`方法可以获取当前设备连接WiFi信息,包括SSID、BSSID、信号强度等。如果返回的对象为null,表示设备当前没有连接WiFi网络。 3. 使用BroadcastReceiver监听WiFi连接状态变化。可以使用`android.net.wifi.STATE_CHANGE`和`android.net.conn.CONNECTIVITY_CHANGE`这两个Intent过滤器来监听WiFi连接状态的变化,当WiFi连接状态变化,会发送相应的广播。可以在BroadcastReceiver中处理这些广播,以便在WiFi连接状态发生变化执行相应的操作。 需要注意的是,要检测WiFi连接状态,必须在AndroidManifest.xml文件中声明相应的权限,如下所示: ```xml <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> ``` 另外,检测WiFi连接状态也需要在运行获取权限,可以使用以下代码来请求权限: ```java if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_NETWORK_STATE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_WIFI_STATE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.ACCESS_NETWORK_STATE, Manifest.permission.ACCESS_WIFI_STATE}, requestCode); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值