{"id":4703,"date":"2021-09-03T11:21:18","date_gmt":"2021-09-03T03:21:18","guid":{"rendered":"http:\/\/122.152.205.50\/wordpress\/?p=4703"},"modified":"2021-09-03T11:21:18","modified_gmt":"2021-09-03T03:21:18","slug":"wifi%e5%ba%94%e7%94%a8%e6%8e%a5%e5%8f%a3","status":"publish","type":"post","link":"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703","title":{"rendered":"Wifi\u5e94\u7528\u63a5\u53e3"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_16 counter-hierarchy counter-decimal ez-toc-grey\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\">\u76ee\u5f55<\/p>\n<span class=\"ez-toc-title-toggle\"><a class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" style=\"display: none;\"><i class=\"ez-toc-glyphicon ez-toc-icon-toggle\"><\/i><\/a><\/span><\/div>\n<nav><ul class=\"ez-toc-list ez-toc-list-level-1\"><li class=\"ez-toc-page-1 ez-toc-heading-level-1\"><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#1%E7%BD%91%E4%B8%8A%E6%90%9C%E9%9B%86%E7%9A%84%E4%B8%80%E4%BA%9B%E8%B5%84%E6%96%99\" title=\"1.\u7f51\u4e0a\u641c\u96c6\u7684\u4e00\u4e9b\u8d44\u6599\">1.\u7f51\u4e0a\u641c\u96c6\u7684\u4e00\u4e9b\u8d44\u6599<\/a><ul class=\"ez-toc-list-level-2\"><li class=\"ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E7%9B%91%E5%90%ACWifi%E8%BF%9E%E6%8E%A5\" title=\"\u76d1\u542cWifi\u8fde\u63a5\">\u76d1\u542cWifi\u8fde\u63a5<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E8%8E%B7%E5%8F%96Wifi%E5%88%97%E8%A1%A8\" title=\"\u83b7\u53d6Wifi\u5217\u8868\">\u83b7\u53d6Wifi\u5217\u8868<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#Wifi%E6%89%AB%E6%8F%8F%E7%BB%93%E6%9E%9CScanResult%E5%B1%9E%E6%80%A7%E8%AF%A6%E8%A7%A3\" title=\"Wifi\u626b\u63cf\u7ed3\u679cScanResult\u5c5e\u6027\u8be6\u89e3\">Wifi\u626b\u63cf\u7ed3\u679cScanResult\u5c5e\u6027\u8be6\u89e3<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E8%8E%B7%E5%8F%96Wifi%E7%9A%84%E5%8A%A0%E5%AF%86%E6%96%B9%E5%BC%8F\" title=\"\u83b7\u53d6Wifi\u7684\u52a0\u5bc6\u65b9\u5f0f\">\u83b7\u53d6Wifi\u7684\u52a0\u5bc6\u65b9\u5f0f<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-6\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E8%8E%B7%E5%8F%96Wifi%E4%BF%A1%E5%8F%B7%E5%BC%BA%E5%BA%A6\" title=\"\u83b7\u53d6Wifi\u4fe1\u53f7\u5f3a\u5ea6\">\u83b7\u53d6Wifi\u4fe1\u53f7\u5f3a\u5ea6<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-7\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%8C%87%E5%AE%9A%E7%9A%84Wifi\" title=\"\u8fde\u63a5\u5230\u6307\u5b9a\u7684Wifi\">\u8fde\u63a5\u5230\u6307\u5b9a\u7684Wifi<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-8\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E5%88%A4%E6%96%ADWifi%E8%BF%9E%E6%8E%A5%E5%AF%86%E7%A0%81%E9%94%99%E8%AF%AF\" title=\"\u5224\u65adWifi\u8fde\u63a5\u5bc6\u7801\u9519\u8bef\">\u5224\u65adWifi\u8fde\u63a5\u5bc6\u7801\u9519\u8bef<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-9\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E8%BF%9B%E5%85%A5Wifi%E5%BC%80%E5%85%B3%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2\" title=\"\u8fdb\u5165Wifi\u5f00\u5173\u8bbe\u7f6e\u9875\u9762\">\u8fdb\u5165Wifi\u5f00\u5173\u8bbe\u7f6e\u9875\u9762<\/a><\/li><\/ul><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-1\"><a class=\"ez-toc-link ez-toc-heading-10\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#2%E6%88%91%E7%9A%84%E4%BB%A3%E7%A0%81%E6%98%AF%E6%80%8E%E4%B9%88%E5%86%99%E7%9A%84\" title=\"2.\u6211\u7684\u4ee3\u7801\u662f\u600e\u4e48\u5199\u7684\">2.\u6211\u7684\u4ee3\u7801\u662f\u600e\u4e48\u5199\u7684<\/a><ul class=\"ez-toc-list-level-2\"><li class=\"ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-11\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E9%A6%96%E5%85%88%EF%BC%8C%E7%94%B3%E8%AF%B7%E6%9D%83%E9%99%90\" title=\"\u9996\u5148\uff0c\u7533\u8bf7\u6743\u9650\">\u9996\u5148\uff0c\u7533\u8bf7\u6743\u9650<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-12\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#%E5%BC%80%E5%A7%8B%E6%92%B8%E4%BB%A3%E7%A0%81\" title=\"\u5f00\u59cb\u64b8\u4ee3\u7801\">\u5f00\u59cb\u64b8\u4ee3\u7801<\/a><ul class=\"ez-toc-list-level-3\"><li class=\"ez-toc-heading-level-3\"><a class=\"ez-toc-link ez-toc-heading-13\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#1%E7%9B%91%E5%90%ACWifi%E5%B7%B2%E7%BB%8F%E8%BF%9E%E6%8E%A5\" title=\"1)\u76d1\u542cWifi\u5df2\u7ecf\u8fde\u63a5\">1)\u76d1\u542cWifi\u5df2\u7ecf\u8fde\u63a5<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-3\"><a class=\"ez-toc-link ez-toc-heading-14\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#2%E8%8E%B7%E5%8F%96Wifi%E5%88%97%E8%A1%A8\" title=\"2)\u83b7\u53d6Wifi\u5217\u8868\">2)\u83b7\u53d6Wifi\u5217\u8868<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-3\"><a class=\"ez-toc-link ez-toc-heading-15\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#3%E8%8E%B7%E5%8F%96%E5%B7%B2%E7%BB%8F%E8%BF%9E%E6%8E%A5%E7%9A%84Wifi\" title=\"3)\u83b7\u53d6\u5df2\u7ecf\u8fde\u63a5\u7684Wifi\">3)\u83b7\u53d6\u5df2\u7ecf\u8fde\u63a5\u7684Wifi<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-3\"><a class=\"ez-toc-link ez-toc-heading-16\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#3%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%8C%87%E5%AE%9AWifi\" title=\"3)\u8fde\u63a5\u5230\u6307\u5b9aWifi\">3)\u8fde\u63a5\u5230\u6307\u5b9aWifi<\/a><ul class=\"ez-toc-list-level-4\"><li class=\"ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-17\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=4703\/#1%E5%87%86%E5%A4%87%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%9D%A1%E4%BB%B6\" title=\"1)\u51c6\u5907\u8fde\u63a5\u7684\u6761\u4ef6\">1)\u51c6\u5907\u8fde\u63a5\u7684\u6761\u4ef6<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"1%E7%BD%91%E4%B8%8A%E6%90%9C%E9%9B%86%E7%9A%84%E4%B8%80%E4%BA%9B%E8%B5%84%E6%96%99\"><\/span>1.\u7f51\u4e0a\u641c\u96c6\u7684\u4e00\u4e9b\u8d44\u6599<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<h2><span class=\"ez-toc-section\" id=\"%E7%9B%91%E5%90%ACWifi%E8%BF%9E%E6%8E%A5\"><\/span>\u76d1\u542cWifi\u8fde\u63a5<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.jianshu.com\/p\/2a7dcc79a7b4\">https:\/\/www.jianshu.com\/p\/2a7dcc79a7b4<\/a><br \/>\n<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/lizhenmingdirk\/article\/details\/19817101\">https:\/\/blog.csdn.net\/lizhenmingdirk\/article\/details\/19817101<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%8E%B7%E5%8F%96Wifi%E5%88%97%E8%A1%A8\"><\/span>\u83b7\u53d6Wifi\u5217\u8868<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/juejin.im\/post\/5d1356166fb9a07ed4411173\">https:\/\/juejin.im\/post\/5d1356166fb9a07ed4411173<\/a><br \/>\n<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/liuxiaopang520\/article\/details\/89187082\">https:\/\/blog.csdn.net\/liuxiaopang520\/article\/details\/89187082<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Wifi%E6%89%AB%E6%8F%8F%E7%BB%93%E6%9E%9CScanResult%E5%B1%9E%E6%80%A7%E8%AF%A6%E8%A7%A3\"><\/span>Wifi\u626b\u63cf\u7ed3\u679cScanResult\u5c5e\u6027\u8be6\u89e3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/male09\/article\/details\/70792657\/\">https:\/\/blog.csdn.net\/male09\/article\/details\/70792657\/<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%8E%B7%E5%8F%96Wifi%E7%9A%84%E5%8A%A0%E5%AF%86%E6%96%B9%E5%BC%8F\"><\/span>\u83b7\u53d6Wifi\u7684\u52a0\u5bc6\u65b9\u5f0f<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/fenggit\/article\/details\/47187227\">https:\/\/blog.csdn.net\/fenggit\/article\/details\/47187227<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%8E%B7%E5%8F%96Wifi%E4%BF%A1%E5%8F%B7%E5%BC%BA%E5%BA%A6\"><\/span>\u83b7\u53d6Wifi\u4fe1\u53f7\u5f3a\u5ea6<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/qq_26981913\/article\/details\/52276732\/\">https:\/\/blog.csdn.net\/qq_26981913\/article\/details\/52276732\/<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%8C%87%E5%AE%9A%E7%9A%84Wifi\"><\/span>\u8fde\u63a5\u5230\u6307\u5b9a\u7684Wifi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/qq_36503704\/article\/details\/82744616\">https:\/\/blog.csdn.net\/qq_36503704\/article\/details\/82744616<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E5%88%A4%E6%96%ADWifi%E8%BF%9E%E6%8E%A5%E5%AF%86%E7%A0%81%E9%94%99%E8%AF%AF\"><\/span>\u5224\u65adWifi\u8fde\u63a5\u5bc6\u7801\u9519\u8bef<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/ask.csdn.net\/questions\/692936\">https:\/\/ask.csdn.net\/questions\/692936<\/a><br \/>\n<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/blog.csdn.net\/lepaitianshi\/article\/details\/83111723\">https:\/\/blog.csdn.net\/lepaitianshi\/article\/details\/83111723<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E8%BF%9B%E5%85%A5Wifi%E5%BC%80%E5%85%B3%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2\"><\/span>\u8fdb\u5165Wifi\u5f00\u5173\u8bbe\u7f6e\u9875\u9762<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.jianshu.com\/p\/95c839a9654b\">https:\/\/www.jianshu.com\/p\/95c839a9654b<\/a><\/p>\n<h1><span class=\"ez-toc-section\" id=\"2%E6%88%91%E7%9A%84%E4%BB%A3%E7%A0%81%E6%98%AF%E6%80%8E%E4%B9%88%E5%86%99%E7%9A%84\"><\/span>2.\u6211\u7684\u4ee3\u7801\u662f\u600e\u4e48\u5199\u7684<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<h2><span class=\"ez-toc-section\" id=\"%E9%A6%96%E5%85%88%EF%BC%8C%E7%94%B3%E8%AF%B7%E6%9D%83%E9%99%90\"><\/span>\u9996\u5148\uff0c\u7533\u8bf7\u6743\u9650<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<pre><code class=\"language-bash line-numbers\">&lt;!--    WIFI--&gt;\n    &lt;uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"\/&gt;\n    &lt;uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"\/&gt;\n\n&lt;!--    \u83b7\u53d6WIFI\u5217\u8868\u9700\u8981\u4f4d\u7f6e\u6743\u9650\uff0c\u5373\u4f7f\u540e\u9762\u4f1a\u52a8\u6001\u7533\u8bf7\uff0c\u8fd9\u91cc\u4e5f\u8981\u6ce8\u518c\uff0c\u5426\u5219\u624b\u673a\u4e0d\u63d0\u793a\u3002--&gt;\n    &lt;uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"\/&gt;\n    &lt;uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"\/&gt;\n<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"%E5%BC%80%E5%A7%8B%E6%92%B8%E4%BB%A3%E7%A0%81\"><\/span>\u5f00\u59cb\u64b8\u4ee3\u7801<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"1%E7%9B%91%E5%90%ACWifi%E5%B7%B2%E7%BB%8F%E8%BF%9E%E6%8E%A5\"><\/span>1)\u76d1\u542cWifi\u5df2\u7ecf\u8fde\u63a5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5148\u6ce8\u518c\u5e7f\u64ad<\/p>\n<pre><code class=\"language-java line-numbers\"> if(wifiReceiver == null){\n            filter = new IntentFilter();\n            filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);\n            filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);\n            filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);\n            wifiReceiver = new WifiReceiver(webViewFragment);\n        }\n        broadcastRegistHelper.setWebViewFragment(webViewFragment);\n        broadcastRegistHelper.regist(wifiReceiver,filter);\n<\/code><\/pre>\n<p>\u89e3\u6790\u5e7f\u64ad<\/p>\n<pre><code class=\"language-java line-numbers\">class WifiReceiver extends BroadcastReceiver {\n        WebViewFragment webViewFragment;\n\n        public WifiReceiver(WebViewFragment webViewFragment) {\n            this.webViewFragment = webViewFragment;\n        }\n\n        @Override\n        public void onReceive(Context context, Intent intent) {\n\/\/wifi\u8fde\u63a5\u4e0a\u4e0e\u5426\n            if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {\n\n                NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);\n                if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) {\n                    Logger.e(TAG, \"wifi\u65ad\u5f00\");\n                    WxAPIConfig.WiFi.isOnWifiConnectedCallBackOnce = false;\n                    wxWifiInfo = null;\n                } else if (info.getState().equals(NetworkInfo.State.CONNECTED)) {\n                    if(WxAPIConfig.WiFi.isOnWifiConnectedCalled){\n                        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);\n                        WifiInfo wifiInfo = wifiManager.getConnectionInfo();\n                        \/\/\u83b7\u53d6\u5f53\u524dwifi\u540d\u79f0\n                        Logger.e(TAG, \"\u8fde\u63a5\u5230\u7f51\u7edc \" + wifiInfo.getSSID());\n                        wxWifiInfo = new WxWifiInfo();\n                        wxWifiInfo.setSSID(wifiInfo.getSSID());\n                        wxWifiInfo.setBSSID(wifiInfo.getBSSID());\n                        wxWifiInfo.setSecure(WifiUtil.isSecure(wifiManager,wifiInfo.getSSID()));\n                        wxWifiInfo.setSignalStrength(wifiManager.calculateSignalLevel(wifiInfo.getRssi(),100));\n\n                        \/\/\u53ea\u6709startWifi\u88ab\u8c03\u7528\u4e86\uff0c\u624d\u53bb\u56de\u590d\uff0c\u5426\u5219\u53ea\u662f\u7f13\u5b58\u3002\n                        if(WxAPIConfig.WiFi.isWifiStartCalled){\n                            callback(webViewFragment);\n                        }\n                    }\n                }\n            }\n        }\n    }\n<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"2%E8%8E%B7%E5%8F%96Wifi%E5%88%97%E8%A1%A8\"><\/span>2)\u83b7\u53d6Wifi\u5217\u8868<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u9996\u5148\u8981\u52a8\u6001\u7533\u8bf7Manifest.permission.ACCESS_COARSE_LOCATION\u6743\u9650\uff0c\u7136\u540e\u5f00\u59cb\u83b7\u53d6Wifi\u5217\u8868\u3002<\/p>\n<pre><code class=\"language-java line-numbers\">private void getWifiList(WebViewFragment webViewFragment,Plugin.PluginCallback pluginCallback) {\n        if(WxAPIConfig.WiFi.isWifiStartCalled &amp;&amp; WxAPIConfig.WiFi.isOnGetWifiListCalled){\n            List&lt;ScanResult&gt; scanResults = wifiManager.getScanResults();\n            List&lt;WxWifiInfo&gt; result = new ArrayList&lt;&gt;();\n            for (ScanResult item : scanResults){\n                WxWifiInfo wxWifiInfo = new WxWifiInfo();\n                wxWifiInfo.setSSID(item.SSID);\n                wxWifiInfo.setBSSID(item.BSSID);\n                wxWifiInfo.setSecure(WifiUtil.isSecure(wifiManager,item));\n                    wxWifiInfo.setSignalStrength(wifiManager.calculateSignalLevel(item.level,100));\n\/\/                wxWifiInfo.setSignalStrength(item.level);\n                result.add(wxWifiInfo);\n                Logger.e(TAG,\"\u626b\u63cf\u5230\u7684wifi\uff1a\" + wxWifiInfo);\n            }\n            Map map = new HashMap&lt;&gt;();\n            map.put(\"success\", true);\n            map.put(\"complete\", true);\n            map.put(\"wifiList\", result);\n            webViewFragment.executeEvent(JsCallBackKeys.ON_GET_WIFI_LIST, map,null);\n        }else{\n            Logger.e(TAG,\"\u83b7\u53d6WIFI\u5217\u8868\u76d1\u542c\u6ca1\u6709\u6253\u5f00\uff0c\u83b7\u53d6WIFI\u5217\u8868\u5e72\u7403\u554a.\");\n        }\n        responseSuccess(pluginCallback);\n    }\n<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"3%E8%8E%B7%E5%8F%96%E5%B7%B2%E7%BB%8F%E8%BF%9E%E6%8E%A5%E7%9A%84Wifi\"><\/span>3)\u83b7\u53d6\u5df2\u7ecf\u8fde\u63a5\u7684Wifi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5148\u6253\u5f00\u5b9a\u4f4d\u5f00\u5173\u5e76\u4e14\u7533\u8bf7Manifest.permission.ACCESS_COARSE_LOCATION\u6743\u9650<br \/>\n\u5224\u65adGPS\u662f\u5426\u5f00\u542f\u7684\u65b9\u6cd5<\/p>\n<pre><code class=\"language-java line-numbers\"> public static boolean isOPen(Context context) {\n        int locationMode = 0;\n        String locationProviders;\n        if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.KITKAT) {\n            try {\n                locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);\n            } catch (Settings.SettingNotFoundException e) {\n                e.printStackTrace();\n                return false;\n            }\n            return locationMode != Settings.Secure.LOCATION_MODE_OFF;\n        } else {\n            locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);\n            return !TextUtils.isEmpty(locationProviders);\n        }\n    }\n<\/code><\/pre>\n<p>\u6253\u5f00\u5b9a\u4f4d\u670d\u52a1\u5f00\u5173<\/p>\n<pre><code class=\"language-java line-numbers\">  \/\/\u521d\u59cb\u5316\u63a5\u53e3\u662f\u5426\u8c03\u7528\n        boolean gpsIsOpen = GpsUtil.isOPen(com.gen.mh.webapp_extensions.WebApplication.getInstance().getApplication());\n\n        if (gpsIsOpen) {\n            doAfterGpsOpened(webViewFragment, pluginCallback);\n        } else {\n            \/\/\u63d0\u793a\u7528\u6237\u6253\u5f00\u5b9a\u4f4d\n            \/\/\u5bf9\u4e8e\u6ca1\u6709\u7cfb\u7edf\u7b7e\u540d\uff0c\u53ef\u80fd\u9700\u8981\u4eba\u5de5\u5e72\u9884\u5f00\u542fgps\u3002\n            new AlertDialog.Builder(webViewFragment.getActivity())\n                    .setTitle(\"\u63d0\u793a\")\n                    .setMessage(\"\u83b7\u53d6\u5df2\u7ecf\u8fde\u63a5\u7684Wifi\u9700\u8981\u6253\u5f00\u5b9a\u4f4d\u529f\u80fd\")\n                    .setNegativeButton(\"\u53d6\u6d88\",\n                            new DialogInterface.OnClickListener() {\n                                @Override\n                                public void onClick(DialogInterface dialog, int which) {\n                                    dialog.dismiss();\n                                    Logger.e(TAG, \"\u7528\u6237\u62d2\u7edd\u4e86\u6253\u5f00\u4f4d\u7f6e\u6743\u9650\");\n                                    responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12006);\n                                }\n                            })\n                    .setPositiveButton(\"\u524d\u5f80\u8bbe\u7f6e\",\n                            new DialogInterface.OnClickListener() {\n                                @Override\n                                public void onClick(DialogInterface dialog, int which) {\n                                    webViewFragment.addResultListsners(new ActivityResultListener() {\n                                        @Override\n                                        public boolean onSdkActivityResult(int requestCode, int resultCode, Intent intent) {\n\/\/                                                if (resultCode == Activity.RESULT_OK &amp;&amp; requestCode == REQUEST_CODE_OPEN_GPS) {\n\/\/                                                    startDiscovery(webViewFragment, paramsBean, pluginCallback, mBluetoothAdapter, leScanCallback);\n\/\/                                                    return false;\n\/\/                                                }\n\n                                            \/\/\u4e0a\u9762\u7684\u5224\u65ad\u65b9\u6cd5\u6709BUG\uff0c\u5728YuLong\u624b\u673a\u4e0a\uff0c\u5373\u4f7f\u7528\u6237\u6253\u5f00\u4e86\u5b9a\u4f4d\u670d\u52a1\uff0cresultCode\u8fd4\u56de\u7684\u5e76\u4e0d\u662f Activity.RESULT_OK\n                                            \/\/\u90a3\u5c31\u518d\u5224\u65ad\u4e00\u6b21\u5450\uff0c\u673a\u667a\u5982\u6211\uff01\n                                            if(REQUEST_CODE_OPEN_GPS == requestCode){\n                                                boolean gpsIsOpen = GpsUtil.isOPen(WebApplication.getInstance().getApplication());\n                                                if(gpsIsOpen){\n                                                    doAfterGpsOpened(webViewFragment, pluginCallback);\n                                                    return false;\n                                                }\n\n                                                Logger.e(TAG, \"\u7528\u6237\u62d2\u7edd\u4e86\u6253\u5f00\u4f4d\u7f6e\u6743\u9650\");\n                                                responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12006);\n                                            }\n                                            return false;\n                                        }\n                                    });\n                                    Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);\n                                    webViewFragment.startActivityForResult(intent, REQUEST_CODE_OPEN_GPS);\n                                }\n                            })\n\n                    .setCancelable(false)\n                    .show();\n        }\n<\/code><\/pre>\n<p>\u7533\u8bf7Manifest.permission.ACCESS_COARSE_LOCATION\u6743\u9650<br \/>\n\u83b7\u53d6\u5df2\u7ecf\u8fde\u63a5\u7684Wifi<\/p>\n<pre><code class=\"language-java line-numbers\"> private void getConnectedWifi(Plugin.PluginCallback pluginCallback) {\n        WifiInfo wifiInfo = wifiManager.getConnectionInfo();\n        if(wifiInfo != null &amp;&amp; !wifiInfo.getSSID().equals(\"&lt;unknown ssid&gt;\")){\n            \/\/\u83b7\u53d6\u5f53\u524dwifi\u540d\u79f0\n            Logger.e(TAG, \"\u5df2\u7ecf\u8fde\u63a5\u5230\u7f51\u7edc \" + wifiInfo.getSSID());\n            if(WxAPIConfig.WiFi.isWifiStartCalled){\n                Logger.e(TAG, \"\u56de\u8c03\u7ed9JS\");\n                WxWifiInfo wxWifiInfo = new WxWifiInfo();\n                wxWifiInfo.setSSID(wifiInfo.getSSID());\n                wxWifiInfo.setBSSID(wifiInfo.getBSSID());\n                wxWifiInfo.setSecure(WifiUtil.isSecure(wifiManager,wifiInfo.getSSID()));\n                wxWifiInfo.setSignalStrength(wifiManager.calculateSignalLevel(wifiInfo.getRssi(),100));\n                map.clear();\n                map.put(\"wifi\", wxWifiInfo);\n                responseSuccess(pluginCallback,map);\n                return;\n            }\n        }else{\n            Logger.e(TAG, \"\u672a\u8fde\u63a5\u5230\u4efb\u4f55\u7684\u7f51\u7edc\");\n        }\n        responseFailure(pluginCallback,ErrorPool.WifiError.createOtherTypeError(ErrorPool.WifiError.CODE_12010,\"getConnectedWifi:fail:currentWifi is null\"));\n    }\n<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"3%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%8C%87%E5%AE%9AWifi\"><\/span>3)\u8fde\u63a5\u5230\u6307\u5b9aWifi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u8fd9\u4e2a\u53ea\u6240\u4ee5\u653e\u5230\u6700\u540e\u8bf4\uff0c\u662f\u7531\u4e8e\u5751\u6700\u591a\u3002<\/p>\n<h4><span class=\"ez-toc-section\" id=\"1%E5%87%86%E5%A4%87%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%9D%A1%E4%BB%B6\"><\/span>1)\u51c6\u5907\u8fde\u63a5\u7684\u6761\u4ef6<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u5148\u8fc7\u6ee4\u975e\u6cd5\u7684\u53c2\u6570<\/p>\n<pre><code class=\"language-java line-numbers\">   \/**\n         * \u975e\u6cd5SSID\u5224\u65ad\n         *\/\n        if(paramsBean == null || TextUtils.isEmpty(paramsBean.getSSID())){\n            responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12008);\n            return;\n        }\n\n\n        \/**\n         * \u5224\u65ad\u662f\u5426\u662f\u91cd\u590d\u8fde\u63a5\n         *\/\n        WifiInfo wifiInfo = wifiManager.getConnectionInfo();\n        if(wifiInfo != null &amp;&amp; !wifiInfo.getSSID().equals(\"&lt;unknown ssid&gt;\")){\n            \/\/\u83b7\u53d6\u5f53\u524dwifi\u540d\u79f0\n            Logger.e(TAG, \"\u5df2\u7ecf\u8fde\u63a5\u5230\u7f51\u7edc \" + wifiInfo.getSSID());\n            if(wifiInfo.getSSID().equals(paramsBean.getSSID()) || wifiInfo.getBSSID().equals(paramsBean.getBSSID())){\n                responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12004);\n                return;\n            }\n        }\n\n        \/**\n         * \u5bc6\u7801\u5c0f\u4e8e8\u4f4d\uff0c\u8ba4\u4e3a\u5bc6\u7801\u4e0d\u6b63\u786e\u3002\n         *\/\n        if(TextUtils.isEmpty(paramsBean.getPassword()) || paramsBean.getPassword().length() &lt; 8){\n            Log.e(TAG, \"\u5bc6\u7801\u4f4d\u4e8e\u5c0f\u4e8e8\uff0c\u8ba4\u4e3a\u5bc6\u7801\u9519\u8bef\u3002\");\n            responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12002);\n            return;\n        }\n<\/code><\/pre>\n<p>\u6253\u5f00Wifi\u5f00\u5173<\/p>\n<pre><code class=\"language-java line-numbers\"> boolean wifiEnabled = wifiManager.isWifiEnabled();\n        if(wifiEnabled){\n            doAfterWifiOpened(webViewFragment, paramsBean, pluginCallback);\n        }else{\n            \/\/\u63d0\u793a\u7528\u6237\u6253\u5f00Wifi\u5f00\u5173\n            new AlertDialog.Builder(webViewFragment.getActivity())\n                    .setTitle(\"\u63d0\u793a\")\n                    .setMessage(\"\u8fde\u63a5Wifi\u9700\u8981\u5148\u6253\u5f00Wifi\u5f00\u5173\")\n                    .setNegativeButton(\"\u53d6\u6d88\",\n                            new DialogInterface.OnClickListener() {\n                                @Override\n                                public void onClick(DialogInterface dialog, int which) {\n                                    dialog.dismiss();\n                                    Logger.e(TAG, \"\u7528\u6237\u62d2\u7edd\u4e86\u6253\u5f00Wifi\u5f00\u5173\");\n                                    responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12005);\n                                }\n                            })\n                    .setPositiveButton(\"\u524d\u5f80\u8bbe\u7f6e\",\n                            new DialogInterface.OnClickListener() {\n                                @Override\n                                public void onClick(DialogInterface dialog, int which) {\n                                    webViewFragment.addResultListsners(new ActivityResultListener() {\n                                        @Override\n                                        public boolean onSdkActivityResult(int requestCode, int resultCode, Intent intent) {\n\/\/                                                if (resultCode == Activity.RESULT_OK &amp;&amp; requestCode == REQUEST_CODE_OPEN_GPS) {\n\/\/                                                    startDiscovery(webViewFragment, paramsBean, pluginCallback, mBluetoothAdapter, leScanCallback);\n\/\/                                                    return false;\n\/\/                                                }\n\n                                            \/\/\u4e0a\u9762\u7684\u5224\u65ad\u65b9\u6cd5\u6709BUG\uff0c\u5728YuLong\u624b\u673a\u4e0a\uff0c\u5373\u4f7f\u7528\u6237\u6253\u5f00\u4e86\u5b9a\u4f4d\u670d\u52a1\uff0cresultCode\u8fd4\u56de\u7684\u5e76\u4e0d\u662f Activity.RESULT_OK\n                                            \/\/\u90a3\u5c31\u518d\u5224\u65ad\u4e00\u6b21\u5450\uff0c\u673a\u667a\u5982\u6211\uff01\n                                            if(requestCode == REQUEST_CODE_OPEN_WIFI){\n                                                boolean wifiEnabled = wifiManager.isWifiEnabled();\n                                                if(wifiEnabled){\n                                                    doAfterWifiOpened(webViewFragment, paramsBean, pluginCallback);\n                                                    return false;\n                                                }\n\n                                                Logger.e(TAG, \"\u7528\u6237\u62d2\u7edd\u4e86\u6253\u5f00Wifi\u5f00\u5173\");\n                                                responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12005);\n                                            }\n                                            return false;\n                                        }\n                                    });\n                                    Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);\n                                    webViewFragment.startActivityForResult(intent, REQUEST_CODE_OPEN_WIFI);\n                                }\n                            })\n\n                    .setCancelable(false)\n                    .show();\n        }\n<\/code><\/pre>\n<p>\u52a8\u6001\u7533\u8bf7\u6743\u9650Manifest.permission.ACCESS_COARSE_LOCATION<br \/>\n\u8fde\u63a5\u5230\u6307\u5b9a\u7684Wifi<\/p>\n<pre><code class=\"language-java line-numbers\">  private void connectWifi(ConnectWifiParamsBean paramsBean, Plugin.PluginCallback pluginCallback) {\n        if(wifiConnectReceiver == null){\n            wifiConnectReceiver = new WifiConnectReceiver();\n            intentFilter = new IntentFilter();\n            intentFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);      \/\/\u8fde\u63a5\u65f6\u5bc6\u7801\u662f\u5426\u6b63\u786e\u76d1\u542c\n            intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);      \/\/\u8fde\u63a5\u65f6\u5bc6\u7801\u662f\u5426\u6b63\u786e\u76d1\u542c\n        }\n        wifiConnectReceiver.attachParams(pluginCallback,paramsBean);\n        broadcastRegistHelper.regist(wifiConnectReceiver,intentFilter);\n\n        boolean result = WifiUtil.connectWifi(wifiManager, paramsBean);\n        Logger.e(TAG, \"\u8fde\u63a5\u7ed3\u679c\uff1a\" + result);\n        if(result == false){\n            responseFailure(pluginCallback,ErrorPool.WifiError.CODE_12002);\n            setLockResponse(true);\n        }\n    }\n<\/code><\/pre>\n<p>\u8fde\u63a5\u7684\u5177\u4f53\u4ee3\u7801\u8d34\u51fa\u5982\u4e0b\uff1a<\/p>\n<pre><code class=\"language-java line-numbers\">public class WifiUtil {\n    private static final String TAG = \"WifiUtil\";\n\n    \/**\n     * \u5224\u65adWifi\u662f\u5426\u5b89\u5168,\u9002\u7528\u4e8eWIFI\u626b\u63cf\u5217\u8868\u3002\n     * @param wifiManager\n     * @param scanResult\n     * @return\n     *\/\n    public static  boolean isSecure(WifiManager wifiManager, ScanResult scanResult) {\n        if (!TextUtils.isEmpty(scanResult.SSID)) {\n            String capabilities = scanResult.capabilities;\n            if (!TextUtils.isEmpty(capabilities)) {\n                if (capabilities.contains(\"WPA\") || capabilities.contains(\"wpa\")) {\n                    Logger.e(\"river\", \"wpa\");\n                } else if (capabilities.contains(\"WEP\") || capabilities.contains(\"wep\")) {\n                    Logger.e(\"river\", \"wep\");\n                } else {\n                    Logger.e(\"river\", \"no\");\n                    return false;\n                }\n            }\n        }\n        return true;\n    }\n\n    \/**\n     * \u901a\u7528\uff0c\u5305\u62ecWIFI\u626b\u63cf\u5217\u8868\u548c\u5df2\u7ecf\u8fde\u63a5\u7684WIFI\u3002\n     * @param wifiManager\n     * @param ssid\n     * @return\n     *\/\n    public static boolean isSecure(WifiManager wifiManager, String ssid) {\n        List&lt;ScanResult&gt; list = wifiManager.getScanResults();\n        for (ScanResult scResult : list) {\n            if (!TextUtils.isEmpty(scResult.SSID) &amp;&amp; scResult.SSID.equals(ssid)) {\n                String capabilities = scResult.capabilities;\n                Logger.e(\"river\",\"capabilities=\" + capabilities);\n                if (!TextUtils.isEmpty(capabilities)) {\n                    if (capabilities.contains(\"WPA\") || capabilities.contains(\"wpa\")) {\n                        Logger.e(\"river\", \"wpa\");\n                        return true;\n                    } else if (capabilities.contains(\"WEP\") || capabilities.contains(\"wep\")) {\n                        Logger.e(\"river\", \"wep\");\n                        return true;\n                    } else {\n                        Logger.e(\"river\", \"no\");\n                        return false;\n                    }\n                }\n            }\n        }\n        return false;\n    }\n\n    \/**\n     * \u83b7\u53d6\u70ed\u70b9\u7684\u52a0\u5bc6\u7c7b\u578b\n     * @param wifiManager\n     * @param ssid\n     * @return\n     *\/\n    public static int getSecureType(WifiManager wifiManager, String ssid) {\n        List&lt;ScanResult&gt; list = wifiManager.getScanResults();\n        for (ScanResult scResult : list) {\n            if (!TextUtils.isEmpty(scResult.SSID) &amp;&amp; scResult.SSID.equals(ssid)) {\n                String capabilities = scResult.capabilities;\n                Logger.e(\"river\",\"capabilities=\" + capabilities);\n                if (!TextUtils.isEmpty(capabilities)) {\n                    if (capabilities.contains(\"WPA\") || capabilities.contains(\"wpa\")) {\n                        Logger.e(\"river\", \"wpa\");\n                        return 2;\n                    } else if (capabilities.contains(\"WEP\") || capabilities.contains(\"wep\")) {\n                        Logger.e(\"river\", \"wep\");\n                        return 1;\n                    } else {\n                        Logger.e(\"river\", \"no\");\n                        return 0;\n                    }\n                }\n            }\n        }\n        return 0;\n    }\n\n    \/**\n     * \u83b7\u53d6WIFI\u7684\u914d\u7f6e\u4fe1\u606f\uff0c\u53c2\u7167{@link https:\/\/blog.csdn.net\/qq_36503704\/article\/details\/82744616}\n     * @param mWifiManager\n     * @param SSID\n     * @param password\n     * @param type\n     * @return\n     *\/\n    public static WifiConfiguration configWifiInfo(WifiManager mWifiManager, String SSID, String password, int type) {\n        WifiConfiguration config = null;\n        if (mWifiManager != null) {\n            List&lt;WifiConfiguration&gt; existingConfigs = mWifiManager.getConfiguredNetworks();\n            for (WifiConfiguration existingConfig : existingConfigs) {\n                if (existingConfig == null) continue;\n                if (existingConfig.SSID.equals(\"\\\"\" + SSID + \"\\\"\")  \/*&amp;&amp;  existingConfig.preSharedKey.equals(\"\\\"\"  +  password  +  \"\\\"\")*\/) {\n                    config = existingConfig;\n                    Logger.e(\"cz\", \"find a config,\" + config );\n                    break;\n                }\n            }\n        }\n        if (config == null) {\n            config = new WifiConfiguration();\n        }\n        config.allowedAuthAlgorithms.clear();\n        config.allowedGroupCiphers.clear();\n        config.allowedKeyManagement.clear();\n        config.allowedPairwiseCiphers.clear();\n        config.allowedProtocols.clear();\n        config.SSID = \"\\\"\" + SSID + \"\\\"\";\n        \/\/ \u5206\u4e3a\u4e09\u79cd\u60c5\u51b5\uff1a0\u6ca1\u6709\u5bc6\u78011\u7528wep\u52a0\u5bc62\u7528wpa\u52a0\u5bc6\n        if (type == 0) {\/\/ WIFICIPHER_NOPASSwifiCong.hiddenSSID = false;\n            config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);\n        } else if (type == 1) {  \/\/  WIFICIPHER_WEP\n            config.hiddenSSID = true;\n            config.wepKeys[0] = \"\\\"\" + password + \"\\\"\";\n            config.allowedAuthAlgorithms\n                    .set(WifiConfiguration.AuthAlgorithm.SHARED);\n            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);\n            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);\n            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);\n            config.allowedGroupCiphers\n                    .set(WifiConfiguration.GroupCipher.WEP104);\n            config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);\n            config.wepTxKeyIndex = 0;\n        } else if (type == 2) {   \/\/ WIFICIPHER_WPA\n            config.preSharedKey = \"\\\"\" + password + \"\\\"\";\n            config.hiddenSSID = true;\n            config.allowedAuthAlgorithms\n                    .set(WifiConfiguration.AuthAlgorithm.OPEN);\n            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);\n            config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);\n            config.allowedPairwiseCiphers\n                    .set(WifiConfiguration.PairwiseCipher.TKIP);\n            config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);\n            config.allowedPairwiseCiphers\n                    .set(WifiConfiguration.PairwiseCipher.CCMP);\n            config.status = WifiConfiguration.Status.ENABLED;\n        }\n        return config;\n    }\n\n    \/**\n     * \u626b\u63cf\u6307\u5b9a\u7684WIFI\n     * @param wifiManager\n     * @param connectWifiParamsBean\n     * @return\n     *\/\n    public static ScanResult findWifi(WifiManager wifiManager,ConnectWifiParamsBean connectWifiParamsBean ){\n        List&lt;ScanResult&gt; scanResults = wifiManager.getScanResults();\n        for (ScanResult item : scanResults){\n            if(item.SSID.equals(connectWifiParamsBean.getSSID()) \/*&amp;&amp; connectWifiParamsBean.getBSSID().equals(item.BSSID)*\/){\n                Logger.e(TAG,\"\u53ef\u4ee5\u626b\u63cf\u5230\u8981\u8fde\u63a5\u7684wifi\uff0c\u51c6\u5907\u8fde\u63a5\");\n                return item;\n            }\n        }\n        return null;\n    }\n\n    \/**\n     * \u8fde\u63a5\u5230\u6307\u5b9a\u7684WIFI\n     * @param wifiManager\n     * @param connectWifiParamsBean\n     * @return\n     *\/\n    public static boolean connectWifi(WifiManager wifiManager, ConnectWifiParamsBean connectWifiParamsBean){\n        ScanResult wifi = findWifi(wifiManager, connectWifiParamsBean);\n        if(wifi == null){\n            Logger.e(TAG, \"connectWifi: \u672a\u626b\u63cf\u5230\u8981\u8fde\u63a5\u7684WIFI\");\n            return false;\n        }\n        WifiConfiguration configuration =  configWifiInfo(wifiManager, connectWifiParamsBean.getSSID(), connectWifiParamsBean.getPassword(), getSecureType(wifiManager,connectWifiParamsBean.getSSID()));\n        int netId = configuration.networkId;\n        Logger.e(\"cz\", \"connectWifi netId  \" + netId );\n        if (netId == -1) {\n             netId = wifiManager.addNetwork(configuration);\n        }\n        return wifiManager.enableNetwork(netId, true);          \/\/\u5df2\u7ecf\u6210\u529f\u8fde\u63a5\u8fc7\u5e76\u4e14\u8bb0\u4f4f\u5bc6\u7801\u7684\uff0c\u76f4\u63a5\u5c31\u80fd\u8fde\u63a5\u4e0a\u3002\n    }\n\n}\n<\/code><\/pre>\n<p>\u6ce8\u610fWifiUtil.connectWifi\u65b9\u6cd5\u8fd4\u56de\u7684\u7ed3\u679c\u4e3atrue\u5e76\u4e0d\u4ee3\u8868wifi\u5c31\u8fde\u63a5\u6210\u529f\uff0c\u597d\u50cf\u8fd9\u4e2a\u65b9\u6cd5\u59cb\u7ec8\u5c31\u662f\u8fd4\u56detrue\u3002<br \/>\n\u89e3\u6790\u524d\u9762\u6ce8\u518c\u7684\u5e7f\u64ad<\/p>\n<pre><code class=\"language-java line-numbers\"> @Override\n        public void onReceive(Context context, Intent intent) {\n            if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(intent.getAction())) {\n                \/\/\u5bc6\u7801\u9519\u8bef\n                int linkWifiResult = intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, -1);        \/\/\u6ce8\u610fwifi\u5f00\u5173\u6ca1\u6709\u6253\u5f00 \uff0c\u6216\u8005\u5bc6\u7801\u5c0f\u4e8e8\u4f4d\uff0c\u6216\u8005wifi\u5df2\u7ecf\u8bb0\u4f4f\u4e86\u3002\u6c38\u8fdc\u76f4\u63a5\u53d6\u7684\u662fdefalutValue\u3002\n                Logger.e(TAG, \"linkWifiResult: \" + linkWifiResult);\n\n                if (linkWifiResult == WifiManager.ERROR_AUTHENTICATING) {                   \/\/TODO \u6709\u5f88\u5c0f\u7684\u673a\u7387\uff0c\u660e\u660e\u5bc6\u7801\u6b63\u786e\u4e5f\u4f1a\u62a5\u9519\u8bef\u3002\n                    Logger.e(TAG, \"onReceive: \u5bc6\u7801\u9519\u8bef\" );\n                    responseFailure(pluginCallback, ErrorPool.WifiError.CODE_12002);\n                    setLockResponse(true);\n                    return;\n                }\n            } else if(WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())){                \/\/wifi\u662f\u5426\u8fde\u63a5.\n                NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);\n                \/\/\u5224\u65ad\u662f\u5426\u8fde\u63a5\u5230\u4e86\u6307\u5b9a\u7684\u7f51\u7edc\n                if(info.getState().equals(NetworkInfo.State.CONNECTED)){\n                    WifiInfo wifiInfo = wifiManager.getConnectionInfo();\n                    if(wifiInfo != null &amp;&amp; !wifiInfo.getSSID().equals(\"&lt;unknown ssid&gt;\")){\n                        \/\/\u83b7\u53d6\u5f53\u524dwifi\u540d\u79f0\n                        Logger.e(TAG, \"\u8fde\u63a5\u5230\u7f51\u7edc \" + wifiInfo.getSSID());\n                        Logger.e(TAG, \"\u6307\u5b9a\u8981\u8fde\u63a5\u7684\u7f51\u7edc \" + paramsBean.getSSID());\n                        \/\/\u7531wifiInfo.getSSID()\u6bd4paramsBean.getSSID()\u591a\u4e86\u4e24\u4e2a\u53cc\u5f15\u53f7\uff0c\u6240\u4ee5\u4e0d\u80fd\u7528equals\u5224\u65ad\u3002\n                        if(wifiInfo.getSSID().contains(paramsBean.getSSID()) || paramsBean.getSSID().contains(wifiInfo.getSSID())){\n                            responseSuccess(pluginCallback);\n                            setLockResponse(true);\n                            return;\n                        }\n                    }\n                }\n            }\n        }\n<\/code><\/pre>\n<p><strong>\u8fde\u63a5wifi\u5bc6\u7801\u9519\u8bef\u7684\u5224\u65ad<\/strong>\uff1a\u901a\u8fc7WifiManager.ERROR_AUTHENTICATING\u5373\u53ef\u5224\u65ad\uff0c\u4f46\u524d\u63d0\u662f\u8fd9\u4e2aWifi\u4e4b\u524d\u4ece\u6765\u6ca1\u6709\u8fde\u63a5\u8fc7\uff0c\u5426\u5219\u5373\u4f7f\u5bc6\u7801\u8f93\u5165\u5565<\/p>\n<pre><code class=\"language-java line-numbers\">intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, -1);\n<\/code><\/pre>\n<p>\u90fd\u53ea\u4f1a\u5f97\u5230-1\u503c\u3002<br \/>\n\u81f3\u4e8e\u5df2\u7ecf\u8fde\u63a5\u8fc7\u7684Wifi\uff0c\u600e\u4e48\u5224\u65ad\u5bc6\u7801\u8f93\u5165\u9519\u8bef\uff0c\u8fd8\u8bf7\u8def\u8fc7\u7684\u9ad8\u624b\u6307\u70b9\u4e00\u4e0b\u3002<\/p>\n<hr \/>\n<p>\u5982\u6709\u7591\u60d1\u6216\u8005\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u7ea0\u6b63\u4f5c\u8005\u7684\u535a\u6587\uff0c\u8bf7\u8054\u7cfb\u5982\u4e0b<br \/>\n\u516c\u4f17\u53f7\uff1a\u5fae\u4fe1\u516c\u4f17\u53f7\u641c\u7d22\u201c\u4fee\u7b26\u9053\u4eba\u201d\u6216\u8005\u626b\u63cf\u4e0b\u65b9\u4e8c\u7ef4\u7801<br \/>\n<img src=\"https:\/\/upload-images.jianshu.io\/upload_images\/18328858-59371629ef391585.jpg?imageMogr2\/auto-orient\/strip%7CimageView2\/2\/w\/1240\" alt=\"qrcode_for_gh_97ef1213cc5b_258.jpg\" \/><\/p>\n<p>\u5fae\u4fe1\u53f7\uff1aXinYi1349308479<br \/>\nQQ\u90ae\u7bb1\uff1a1349308479@qq.com<\/p>\n<button class=\"simplefavorite-button\" data-postid=\"4703\" data-siteid=\"1\" data-groupid=\"1\" data-favoritecount=\"0\" style=\"\">\u6536\u85cf <i class=\"sf-icon-star-empty\"><\/i><\/button>","protected":false},"excerpt":{"rendered":"<p>\u76ee\u5f55 1.\u7f51\u4e0a\u641c\u96c6\u7684\u4e00\u4e9b\u8d44\u6599\u76d1\u542cWifi\u8fde\u63a5\u83b7\u53d6Wifi\u5217\u8868Wifi\u626b\u63cf\u7ed3\u679cScanResult\u5c5e\u6027 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[227],"tags":[],"_links":{"self":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/4703"}],"collection":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4703"}],"version-history":[{"count":1,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/4703\/revisions"}],"predecessor-version":[{"id":4704,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/4703\/revisions\/4704"}],"wp:attachment":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4703"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}