在使用html5配合cordova做webapp时,有时需要实时监测手机的网络 状况。html5里面是没有相关的js的,这时就需要在cordova里找相关插件了。

一、插件查找

1、在cordova中文网http://cordova.axuer.com/,的插件里搜索 "network-information",如下图:

会在页面下方出现该插件的网址:cordova-plugin-network-information

二、使用插件

1、安装插件

在项目文件-》app文件下使用cmd调出命令框,安装 cordova plugin add cordova-plugin-network-information

2、插件应用

2-1,得到当年网络状态:

 var networkState = navigator.connection.type;
networkState的返回值(网络的状态):
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
状态值分别代表:
UNKNOWN  = '未知连接' ;
ETHERNET = '以太网连接' ;
WIFI = ' WiFi连接' ;
CELL_2G = '小区2G连接' ;
CELL_3G = '小区3G连接' ;
CELL_4G ]= '单元格4G连接' ;
CELL = '单元格通用连接' ;
NONE = '没有网络连接' ;

2-2,监听手机失去网络连接

document.addEventListener("offline", callbackfunction, false);

2-3,监听手机收到网络连接以允许应用程序访问互联网时

document.addEventListener("online", callbackfunction, false);

3,具体示例

     var networkFlag  = true;// 默认手机联网
var networkState = navigator.connection.type;
if(networkState=='none'){// 无网
networkFlag = false;
}
document.addEventListener("offline", function(){ // 断网
networkFlag = false;
// 其它语句
}, false);
document.addEventListener("online", function(){ // 开启网络
networkFlag = true;
// 其它语句
}, false);

4,注意:此插件只能监听网络的状态,并不能知道是否有真实的网络。部分情况如下:

4-1、手机欠费,数据流量开启,,返回的状态是CELL_2G 或 CELL_3G 或 CELL_4G ;

4-2,wifi有信号,实际没有网络。即路由器正常工作,没有插网线。返回状态“WiFi”

4-3,wifi有信号,但有权限,必须认证后才能连接。返回状态也是“wifi”

这三种情况下监听到的都是有网络的,实际没网络

使用cordova network-information 插件监听手机网络状态的更多相关文章

  1. 用BroadcastReceiver监听手机网络状态变化

    android--解决方案--用BroadcastReceiver监听手机网络状态变化 标签: android网络状态监听方案 2015-01-20 15:23 1294人阅读 评论(3) 收藏 举报 ...

  2. Android监听手机网络变化

    Android监听手机网络变化 手机网络状态发生变化会发送广播,利用广播接收者,监听手机网络变化 效果图 注册广播接收者 <?xml version="1.0" encodi ...

  3. 广播小案例-监听系统网络状态 --Android开发

    本例通过广播实现简单的监听系统网络状态改变的小案例. 1.案例效果演示 当手机连网后,系统提示“已连接网络”, 当手机断网后,系统提示“当前网络不可用”. 2.案例实现 在主活动中动态注册广播,然后写 ...

  4. Android之——监听手机开机事件

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47028535 本文中,主要通过监听开机广播来达到监听手机开机状态的操作.在Andr ...

  5. Android初级教程使用服务注册广播接收者监听手机解锁屏变化

    之前第七章广播与服务理论篇写到: 特殊的广播接收者(一般发广播次数频率很高) 安卓中有一些广播接收者,必须使用代码注册,清单文件注册是无效的 屏幕锁屏和解锁 电量改变 今天在这里就回顾一下,且用代码方 ...

  6. iOS 关于监听手机截图,UIView生成UIImage, UIImage裁剪与压缩的总结

    一.  关于监听手机截图 1. 背景: 发现商品的售价页总是被人转发截图,为了方便用户添加截图分享的小功能 首先要注册用户截屏操作的通知 - (void)viewDidLoad { [super vi ...

  7. vue 监听手机键盘是否弹出及input是否聚焦成功

    //定义移动端类型 function pageStats() { let u = navigator.userAgent, app = navigator.appVersion; let obj = ...

  8. 知识点---js监听手机返回键,回到指定界面

    方法一. $(function(){ pushHistory(); window.addEventListener(“popstate”, function(e) { window.location ...

  9. 使用ionic开发时用遇到监听手机返回按钮的问题~

    当时用的是ionic开发一个app,需求是,当按下手机的返回按钮,在指定的页面双击退出,而在其他页面点击一次返回到上个页面: 其实用ionic自带的服务就可以解决:  //双击退出   $ionicP ...

随机推荐

  1. 【串线篇】Mybatis入门

    MyBatis是持久化层框架(SQL映射框架)-操作数据库 一.环境搭建 1).创建一个java工程,java工程就行: 2). 创建表:自己用工具创建 创建javaBean:Employee(封装表 ...

  2. Qt pro使用sql之类的需要添加的模块

    举个栗子,当要使用QSqlQuery 的时候需要在pro中添加Qt +=sql 然后在.h里面#include<QSqlQuery>即可使用sql. 同理要使用media或者net的时候只 ...

  3. 查找服务器的真实ip

    最近做项目遇到很多网站使用了cdn,导致扫目录等操作很难进行. 于是学习了一下绕过cdn的一下方法,记录一下. 大致分为下面几种方法: 1.查找子域名 实际上这个方法不一定有用因为很多子域名并不是和W ...

  4. js消除图片小游戏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. SQL Join连接

    SQL 连接(Joins) SQL join 用于把来自两个或多个表的行结合起来. SQL JOIN SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 最常见的 J ...

  6. CDN技术之--流媒体CDN系统的组成

    流媒体业务是一种对实时性.连续性.时序性要求非常高的业务,无论从带宽消耗上还是质量保障上来说,对best-effort的IP网络都是一个不小的冲击 –高带宽要求–高QoS要求–组播.广播要求(目前IP ...

  7. imp需要

    导入全部: imp user/password@10.10.10.10:1521/orcl file = C:\Users\Administrator\Desktop\20170404230000.d ...

  8. 10个优秀的 Web UI库/框架

    UI(User Interface)即用户界面,也称人机界面.是指用户和某些系统进行交互方法的集合,实现信息的内部形式与人类可以接受形式之间的转换.本文为WUI用户整理了10个优秀的 Web UI 库 ...

  9. User control's property loses value after a postback

    User control's property loses value after a postback All variables (and controls) are disposed at th ...

  10. QC浏览器登陆自动关闭

    服务器(win2003 SP2)上装了个QC10,用了一段时间后突然登陆不上了.可以看见域及Project信息,但是登陆后加载几秒后突然自动关闭.局域网内的其他机器可以登陆. 解决方案:修改数据执行保 ...