Как я могу получить информацию о сети WiFi (SSID) в приложении Phonegap?

Я делаю приложение Phonegap. Мое требование - показывать пользователям разные взгляды в зависимости от того, используют ли они домашнюю сеть или общедоступную сеть. Есть ли какой-либо плагин или любой другой способ, который может помочь получить информацию о подключенной сети. (Сетевой SSID).

Спасибо.

Ответ 1

Существует плагин для Android и iOS:

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> 

Пожалуйста, посмотрите, что вам нужно, чтобы получить работу из списка функций, которые предлагает ссылка, и если вы столкнулись с проблемами, ответьте.

Ответ 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.


Однако если вам, как и мне, вам также нужно использовать устройство Hotspot или Wi-Fi Tetheting на cordova, я рекомендую вместо этого cordova-hotspot-plugin.

К сожалению, проект прекращен, но для более старых уровней Android API все еще работает.

Этот плагин поддерживает множество методов, полный список которых доступен здесь.