【发布时间】:2015-07-02 10:50:56
【问题描述】:
我正在制作一个 Phonegap 应用程序。我的要求是根据用户使用的是家庭网络还是公共网络,向用户显示不同的视图。是否有任何插件或任何其他方式可以帮助获取连接的网络信息。 (网络 SSID)。
谢谢。
【问题讨论】:
标签: cordova phonegap-plugins phonegap-build
我正在制作一个 Phonegap 应用程序。我的要求是根据用户使用的是家庭网络还是公共网络,向用户显示不同的视图。是否有任何插件或任何其他方式可以帮助获取连接的网络信息。 (网络 SSID)。
谢谢。
【问题讨论】:
标签: cordova phonegap-plugins phonegap-build
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);
}
如果要返回完整的扫描结果:
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>
请从我提供的链接所提供的功能列表中查看您究竟需要什么来完成工作,如果您遇到问题,请回复。
【讨论】:
GetCurrentSSID 之外的其他 API(例如 GetScanResult 或 listNetworks)苹果将拒绝该应用程序,任何机构已经走了那么远?
虽然 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。
但是,如果您像我一样还需要将设备的 Hotspot 或 Wifi Tethering 与 Cordova 一起使用,我推荐使用 cordova-hotspot-plugin 包。不幸的是,该项目停止;但对于较旧的 Android API 级别,它似乎仍然有效。
此插件支持多种方法,完整列表可用here。
【讨论】: