如何在 Phonegap 应用程序中获取 WiFi 网络信息 (SSID)?

Posted

技术标签:

【中文标题】如何在 Phonegap 应用程序中获取 WiFi 网络信息 (SSID)?【英文标题】:How can I get WiFi Network information (SSID) in a Phonegap app? 【发布时间】:2015-07-02 10:50:56 【问题描述】:

我正在制作一个 Phonegap 应用程序。我的要求是根据用户使用的是家庭网络还是公共网络,向用户显示不同的视图。是否有任何插件或任何其他方式可以帮助获取连接的网络信息。 (网络 SSID)。

谢谢。

【问题讨论】:

【参考方案1】:

androidios 有这个 plugin:

cordova plugin add wifiwizard

如果您想获取您所连接网络的当前 SSID:

function ssidHandler(s) 
    alert("Current SSID"+s);


function fail(e) 
    alert("Failed"+e);


function getCurrentSSID() 
    WifiWizard.getCurrentSSID(ssidHandler, fail);

如果您想获取 SSID 列表,您之前已配置

function listHandler(a) 
    alert(a);


function getWifiList() 
   WifiWizard.listNetworks(listHandler, fail);

如果要返回完整的扫描结果:

function listHandler2(a) 
    alert(JSON.stringify(a));


function getScanResult() 
    WifiWizard.getScanResults(listHandler2, fail);
 

测试:

<button onclick="getCurrentSSID()">Get Current SSID</button> 
<button onclick="getWifiList()">Get configured SSID list</button> 
<button onclick="getScanResult()">Get Scan result</button> 

请从我提供的链接所提供的功能列表中查看您究竟需要什么来完成工作,如果您遇到问题,请回复。

【讨论】:

是的,请告诉我们。我也对这个感兴趣。 WifiWizard支持iOS 这应该在文档中:/ 根据他们提到的文档,如果应用程序正在使用除GetCurrentSSID 之外的其他 API(例如 GetScanResultlistNetworks)苹果将拒绝该应用程序,任何机构已经走了那么远? 错误:注册表在registry.npmjs.org/com.pylonproducts.wifiwizard 上为 GET 返回 404【参考方案2】:

虽然 WifiWizard 很棒,但它似乎不再在 GitHub 上维护。

您可以使用正在积极开发中的WifiWizard2作为替代,因为它支持相同的方法:

cordova plugin add https://github.com/tripflex/WifiWizard2.git
WifiWizard2.getConnectedSSID(success, fail)
WifiWizard2.getConnectedBSSID(success, fail)
WifiWizard2.scan([options], success, fail)

WifiWizard2 似乎也同时支持 Android 和 iOS。


但是,如果您像我一样还需要将设备的 HotspotWifi Tethering 与 Cordova 一起使用,我推荐使用 cordova-hotspot-plugin 包。不幸的是,该项目停止;但对于较旧的 Android API 级别,它似乎仍然有效。

此插件支持多种方法,完整列表可用here。

【讨论】:

谢谢你,第一个两个选项有效,但是扫描一个返回 []。你知道为什么吗?在 Android 设备上使用最新版本的插件。 只是让大家知道,如果您在较新版本的 Android 中得到一个空的 [],那是因为您需要为应用授予位置权限。设置 >> 应用 >> theApp >> 权限 >> 位置 我已经多次尝试使用此代码使其工作,但它不起作用:WifiWizard2.scan(function(response) ‎ alert(JSON.stringify(response)); ‎ );你介意帮忙吗? @xxxxxxxxxxxxxxx 我正在尝试获取可用网络列表 WifiWizard2 不再受支持且不适用于 Android 11+ 或 iOS 14.5+

以上是关于如何在 Phonegap 应用程序中获取 WiFi 网络信息 (SSID)?的主要内容,如果未能解决你的问题,请参考以下文章

iphone上禁用wifi时,Phonegap Sencha应用谷歌地图API未加载

如何在 Phonegap 应用程序中获取点击地图的坐标?

如何在phonegap中获取当前位置?

如何在 iOS PhoneGap 应用程序中获取应用程序版本号?

如何使用 FCM 在 phonegap 中获取推送通知值?

如何在 PhoneGap 应用程序中调试内存使用攀升?