清风袭梦 發表於 2022-7-6 12:51:00

uni-app 获取手机连接的WiFi信息和wifi列表

<p>最近在做个项目要求app获取当前连接的wifi信息和可用WiFi列表。</p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">uni.getNetworkType({
    success: function (res) {
            console.log(res.networkType);
            </span><span style="color: rgba(0, 0, 255, 1)">if</span>(res.networkType != <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">wifi</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">){
                uni.showToast({
                  icon:</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">none</span><span style="color: rgba(128, 0, 0, 1)">'</span>,duration:<span style="color: rgba(128, 0, 128, 1)">2000</span><span style="color: rgba(0, 0, 0, 1)">,
                  title:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">未连接WIFI</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
                })
            }</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">{
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断获取的WiFi是否为机型WiFi
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 主窗体</span>
                <span style="color: rgba(0, 0, 255, 1)">var</span> MainActivity =<span style="color: rgba(0, 0, 0, 1)"> plus.android.runtimeMainActivity()
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 上下文</span>
                <span style="color: rgba(0, 0, 255, 1)">var</span> Context = plus.android.importClass(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">android.content.Context</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 导入WIFI管理 和 WIFI 信息 的class</span>
                plus.android.importClass(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">android.net.wifi.WifiManager</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">)
                plus.android.importClass(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">android.net.wifi.WifiInfo</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">)
                plus.android.importClass(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">android.net.wifi.ScanResult</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">)
                plus.android.importClass(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">java.util.ArrayList</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">)
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 获取 WIFI 管理实例</span>
                <span style="color: rgba(0, 0, 255, 1)">var</span> wifiManager =<span style="color: rgba(0, 0, 0, 1)"> MainActivity.getSystemService(Context.WIFI_SERVICE)

                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 获取当前连接WIFI的信息</span>
                <span style="color: rgba(0, 0, 255, 1)">var</span> info =<span style="color: rgba(0, 0, 0, 1)"> wifiManager.getConnectionInfo()
               
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 获取当前 WIFI 连接的 SSID (WIFI 名称)</span>
                <span style="color: rgba(0, 0, 255, 1)">var</span> ssid =<span style="color: rgba(0, 0, 0, 1)"> info.getSSID()
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 这里的 获取到的名称 是 带 双引号的 如 "cmcc"   
                </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 所以我们这里处理一下</span>
                ssid = ssid.replace(/(^\<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">*)|(\"*$)/g, </span><span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(128, 0, 0, 1)">)</span>
                console.log(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">info</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,ssid)
                </span><span style="color: rgba(0, 0, 255, 1)">var</span> resultList =<span style="color: rgba(0, 0, 0, 1)"> wifiManager.getScanResults(),
                  len </span>=<span style="color: rgba(0, 0, 0, 1)"> resultList.size()

                </span><span style="color: rgba(0, 0, 255, 1)">for</span>(<span style="color: rgba(0, 0, 255, 1)">var</span> i = <span style="color: rgba(128, 0, 128, 1)">0</span>; i &lt; len; i++<span style="color: rgba(0, 0, 0, 1)">) {
                  console.log(resultList.</span><span style="color: rgba(0, 0, 255, 1)">get</span>(i).plusGetAttribute(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">SSID</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">))<br>            //将每一个ssid都添加到wifiArray数组中,用于绑定显示,根据个人业务取舍 wifiArray=[{name:WiFi的SSID}]</span></pre>
<p>            let oneWiFi={<br>                                                                                                name:resultList.get(i).plusGetAttribute('SSID')<br>                                                                                    }<br>                                                                                      this.wifiArray.push(oneWiFi);</p>
<pre><span style="color: rgba(0, 0, 0, 1)">                }
            }
      }
})</span></pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>本文参考:https://blog.csdn.net/yjl23332/article/details/115666943</p><br><br>
来源:https://www.cnblogs.com/ckfuture/p/16450360.html
頁: [1]
查看完整版本: uni-app 获取手机连接的WiFi信息和wifi列表