10

I am making a Phonegap app. My requirement is to show different views to users depending on whether they are using a home network or a public network. Is there any plugin or any other way that can help to get the connected network information. (Network SSID).

Thanks.

dda
  • 6,030
  • 2
  • 25
  • 34
Varun Nayyar
  • 887
  • 4
  • 20
  • 46

2 Answers2

17

There is this plugin for Android and iOS :

cordova plugin add wifiwizard

If you want to get the current SSID of the network you are connected to:

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

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

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

If you want to get the list of SSID you have configured before :

function listHandler(a) {
    alert(a);
}

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

If you want to return a complete scan result :

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

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

To test:

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

Please see what you exactly need to get work from the list of the functions that the link I provided is offering and if you are encountering issues, reply.

Arthur Ronconi
  • 2,290
  • 25
  • 25
AshBringer
  • 2,614
  • 2
  • 20
  • 42
6

While WifiWizard is great, it seems that it's no longer being maintained on GitHub.

As a replacement, you can use WifiWizard2 which is under active development, as it supports the same methods:

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

WifiWizard2 seems to also support both Android and iOS.


However, if like me you also need to use the device's Hotspot or Wifi Tethering with Cordova, I recommend the cordova-hotspot-plugin package instead. The project is unfortunately discontinued; but for older Android API levels, it still seems to work.

This plugin supports a myriad of methods, full list available here.

David Refoua
  • 3,476
  • 3
  • 31
  • 55
  • Thanks for this, 1st two options work, however the scan one gives [] back. Do you have an idea why? Using latest version of the plugin on Android device. – 1x2x3x4x Feb 13 '18 at 08:16
  • 1
    Just to let anyone know, if you get an empty [] in a newer version of Android, it's because you need to give Location permission to the app. Settings >> Apps >> theApp >> Permissions >> Location – 1x2x3x4x Feb 13 '18 at 08:37
  • 1
    I've been trying for several times to make this work with this code but it's not working: WifiWizard2.scan(function(response) { ‎ alert(JSON.stringify(response)); ‎}); Woud you mind helping please? @xxxxxxxxxxxxx I'm trying to get a list of available networks – Toufic Batache Apr 01 '18 at 06:54
  • WifiWizard2 is no longer supported and does not work with Android 11+ or iOS 14.5+ – Joe Naber May 05 '21 at 11:55