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

How can I get WiFi Network information (SSID) in a Phonegap app?

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

谢谢。

Android 和 iOS 有这个 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);
}

如果你想return一个完整的扫描结果:

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> 

请从我提供的 link 提供的功能列表中查看您真正需要的工作,如果您遇到问题,请回复。

虽然 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