我正在制作一个Phonegap应用。我的要求是根据用户是使用家庭网络还是公共网络向用户显示不同的视图。是否有任何插件或任何其他方式可以帮助获取连接的网络信息。 (网络SSID)。
感谢。
答案 0 :(得分:18)
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>
请从我提供的链接提供的功能列表中查看您需要完成工作的内容,如果遇到问题,请回复。
答案 1 :(得分:4)
虽然 WifiWizard 很棒,但它似乎不再在GitHub上维护了。
作为替代品,您可以使用正在进行开发的 WifiWizard2 (link),因为它支持相同的方法:
cordova plugin install https://github.com/tripflex/WifiWizard2.git
WifiWizard2.getConnectedSSID(success, fail)
WifiWizard2.getConnectedBSSID(success, fail)
WifiWizard2.scan([options], success, fail)
WifiWizard2也支持Android和iOS。
但是,如果像我这样你还需要在cordova上使用设备的 Hotspot 或 Wifi Tetheting ,我推荐 cordova-hotspot-plugin 而不是。
该项目很遗憾停用,但对于较旧的Android API级别,似乎仍有效。
此插件支持无数种方法,可用完整列表here。