Skip to content

Apache cordova plugin to detect network signal strength and other network updates such as network type

Notifications You must be signed in to change notification settings

code-flag/cordova-plugin-network-signal-strength

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cordova-plugin-network-signal-strength

Apache cordova plugin to detect network signal strength and other network updates such as network types and connection state

Supported Platforms

Android

Installation

from npm repo: $ cordova plugin add cordova-plugin-network-signal-strength

or from git repo: $ cordova plugin add https://github.com/code-flag/cordova-plugin-network-signal-strength.git

Usage

The API has only one method window["networkSignalStrength"].networkInfo(infoType, callback).

  • infoType parameter could either be:

    • null : to get all the network details including signal strength, network type and connection state
    • CONNECTION_STATE : to get only the connection state which will return 0 or 1.
      • 0 : disconnected
      • 1 : connected
    • SIGNAL_STRENGTH : to get only the signal strength information.
      • This return an object which include *** rssi, rssq, rssnr, rsrp, signal level and lte level ***
          const signalTypeRange = {
           RSSI: [-113, -51, "dBm"],
           RSSNR: [-20, +30, "dB"],
           RSRQ: [-34, 3, "dB"],
           RSRP: [-140, -43, "dBm"],
           };
    • NETWORK_TYPE : to get type of connected network. Return integer -1 to 4
      • -1 : unknown
      • 0 : disconnected
      • 1 : wifi
      • 2 : 2g
      • 3 : 3g
      • 4 : 4g
      • 5 : roaming

    code snippet

       window['networkSignalStrength']?.networkInfo(null, (networkInfoData) => {
       console.log('network signal data :', networkInfoData)
       });
  • You receive -1 as a result if the device is unable to get a known network type and 0 for offline or disconnected state.

   window['networkSignalStrength']?.networkInfo(SIGNAL_STRENGTH, (networkInfoData) => {
   console.log('network signal data :', networkInfoData)
   });
  • You should call the window.SignalStrength.dbm only after cordova platform is ready. Example in Ionic framework:
  // ensure platform is ready before calling the plugin method
  $ionicPlatform.ready().then(() => {
    // Platform now ready, execute any required native code
    setInterval(() => {
      window['networkSignalStrength']?.networkInfo(null, (networkInfoData) => {console.log('network signal data :', networkInfoData)});
    }, 5000)
  });

Notes

  • window['networkSignalStrength'] is undefined when testing your app on your PC while using ionic serve.
  • when you call window['networkSignalStrength'].networkInfo for the first time the device may respond with -1 or 0. Try calling the function again after some delay.

How to Contribute

Use pull request.

About

Apache cordova plugin to detect network signal strength and other network updates such as network type

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published