如何检测无法在android中连接wifi?

如何检测无法在android中连接wifi?,第1张

概述检测连接失败的最佳方法是什么?我知道我们应该使用NetworkInfo.getState()来获取连接状态,并且我还将NETWORK_STATE_CHANGED_ACTION与BroadcastReceiver配合使用来检测连接状态的变化.我认为在这种情况下,在broadcastReceiver中检测到DISCONNECTED状态不匹配.NetworkInfo.State.

检测连接失败的最佳方法是什么?

我知道我们应该使用NetworkInfo.getState()来获取连接状态,
并且我还将NETWORK_STATE_CHANGED_ACTION与broadcastReceiver配合使用来检测连接状态的变化.

我认为在这种情况下,在broadcastReceiver中检测到disCONNECTED状态不匹配.

NetworkInfo.State.disCONNECTED意味着仅“断开连接”,并不意味着连接失败.

解决方法:

向WifiManager.SUPPliCANT_STATE_CHANGED_ACTION注册接收器,以便在发生连接失败时得到通知.这可能是由于提供了无效的凭据来连接到WiFi

private voID registerReceiver() {        IntentFilter filter = new IntentFilter();        filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);        filter.addAction(WifiManager.SUPPliCANT_STATE_CHANGED_ACTION);        registerReceiver(mReceiver, filter);    }

还有您的接收器

 private broadcastReceiver mReceiver = new broadcastReceiver() {        @OverrIDe        public voID onReceive(Context context, Intent intent) {     NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);            if (info != null) {                if (info.isConnected()) {                   //connected                    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);                    WifiInfo wifiInfo = wifiManager.getConnectionInfo();                    String ssID = wifiInfo.getSSID();                }                }  else {                if (intent.getAction().equals(WifiManager.SUPPliCANT_STATE_CHANGED_ACTION)) {                    if (intent.hasExtra(WifiManager.EXTRA_SUPPliCANT_ERROR)) {                      //Failed to connect                 }                }       }    };
总结

以上是内存溢出为你收集整理的如何检测无法在android中连接wifi?全部内容,希望文章能够帮你解决如何检测无法在android中连接wifi?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1090097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存