首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理wifi连接状态

处理wifi连接状态
EN

Stack Overflow用户
提问于 2017-08-14 11:20:27
回答 1查看 1.1K关注 0票数 3

我有一个应用程序,通过编程连接到一个wifi连接。我的问题是,我想处理这个案子,密码是错的。我希望在运行时检测密码不正确。准确地说,我已经在建立连接时运行了一个进度对话框,所以如果密码是错误的,进度对话框就会一直显示,不能跳过。进一步注意:我使用以下代码处理小于8个字符的密码:

代码语言:javascript
复制
if(!m_wifiManager.enableNetwork(netId, true)) {
            progressDialogConnecting.dismiss();
            createInfoMessageDialog(CONST.WIFI_CON_FAILED_TITLE, CONST.WIFI_CON_FAILED_MSG_CONFAILURE);
            m_wifiManager.reconnect();
            return;
        }

如果wifi连接的键小于8个字符,则触发此if-case .但如果它的长度超过8个字符,而错误,我会得到一个无休止的状态显示进度对话框。我真正想问的是:如何处理错误的密码2、连接状态(就像Android系统向我展示“连接到Wifi xyz”的祝酒词一样)?汉德尔的第一个密码(错误的密码)有可能吗?

下面是代码,它无法处理已建立的连接事件(这只是wifirecevier,我还在活动中注册了它):

代码语言:javascript
复制
 public class WifiReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            final String action = intent.getAction();
            if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) {
                if (intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false)){
                            if(wrongNetworkConnected)
                            progressDialogConnecting.dismiss();
                        }
                    }
                } else {

                }
            }
        }
    }

编辑:我目前正在做的是,我有一个Handler,它告诉我我是谁连接的。这很有用,因为我可以说,在重新连接()之后,我重新连接到旧的网络(当前的网络),而不是新的网络--因此显然密码可能是错误的(或者其他什么),因为我无法连接到新的网络。

这种方法的问题在于,首先要花费太多的时间,其次是不可靠的。我可以撒谎,并说,如果你将重新连接到你目前的网络,这是错误的密码,但实际上,它不是100%确定你不能重新连接,因为这-它也可能有其他原因。因此,我仍然在寻找一个简单的反馈/句柄,从密码是错误的,就像android api在每个android设备的wifi设置.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-14 08:33:13

我的问题是,我想处理这个案子,密码是错的。

经过一些研究,我发现这个post没有被标记出来,但它仍然对我很好。

下面是如果程序跳转(我已经测试过几次),如果存在身份验证错误->例如错误密码的情况:

代码语言:javascript
复制
int supl_error=intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, -1);

if(supl_error==WifiManager.ERROR_AUTHENTICATING){
          // DO SOMETHING 
}

注意:如上面链接的帖子所示,如果-大小写应该出现在BroadcastReceiver中,将意图WifiManager.SUPPLICANT_STATE_CHANGED_ACTION添加到活动类中的接收者注册。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45673369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档