参考:http://ionicframework.com/docs/v2/native/network/

(后须还将发表其他我正在ionic2使用的插件或功能)

增加网络监测功能的cordova插件:

$ ionic plugin add cordova-plugin-network-information

开启网络状态动态检测:

// 开启网络监测startNetDetect() {// watch network for a disconnectlet disconnectSubscription = Network.onDisconnect().subscribe(() => {console.log('network was disconnected :-(');});// stop disconnect watch (停止断网检测)// disconnectSubscription.unsubscribe();// watch network for a connectionlet connectSubscription = Network.onConnect().subscribe(() => {console.log('network connected!');// We just got a connection but we need to wait briefly// before we determine the connection type.  Might need to wait
// prior to doing any api requests as well.setTimeout(() => {this.showNetworkStatus();}, 3000);});// stop connect watch (停止联网检测)// connectSubscription.unsubscribe();}

为加入显示正在查看当前网络状态的效果,加入LoadingController,显示网络检测过程:

checkNetwork() {let loader = this.loadingCtrl.create({content: "网络监测中..."});loader.present();setTimeout(() => {loader.dismiss();this.showNetworkStatus();}, 3000);}

显示网络状态信息的方法:

showNetworkStatus() {if(Network.connection == 'unknown') {console.log('This is a unknown network!');} else if(Network.connection == 'none') {console.log('none network!');} else {console.log('we got a ' + Network.connection + ' connection, woohoo!');}}

程序如下:

home.html

<ion-header><ion-navbar><ion-title>Home</ion-title></ion-navbar>
</ion-header><ion-content padding class="home"><h2>Welcome to Ionic!</h2><button (click)="startNetDetect()">开启网络监测</button><button (click)="checkNetwork()">当前网络状态</button>
</ion-content>

home.ts

import {Component} from '@angular/core';
import {NavController, LoadingController} from 'ionic-angular';
import {Network} from "ionic-native";@Component({templateUrl: 'build/pages/home/home.html'
})
export class HomePage {constructor(private navCtrl: NavController,private loadingCtrl: LoadingController) {}// 开启网络监测startNetDetect() {// watch network for a disconnectlet disconnectSubscription = Network.onDisconnect().subscribe(() => {console.log('network was disconnected :-(');});// stop disconnect watch (停止断网检测)// disconnectSubscription.unsubscribe();// watch network for a connectionlet connectSubscription = Network.onConnect().subscribe(() => {console.log('network connected!');// We just got a connection but we need to wait briefly// before we determine the connection type.  Might need to wait
// prior to doing any api requests as well.setTimeout(() => {this.showNetworkStatus();}, 3000);});// stop connect watch (停止联网检测)// connectSubscription.unsubscribe();}checkNetwork() {let loader = this.loadingCtrl.create({content: "网络监测中..."});loader.present();setTimeout(() => {loader.dismiss();this.showNetworkStatus();}, 3000);}showNetworkStatus() {if(Network.connection == 'unknown') {console.log('This is a unknown network!');} else if(Network.connection == 'none') {console.log('none network!');} else {console.log('we got a ' + Network.connection + ' connection, woohoo!');}}
}

Advanced

The connection property will return one of the following connection types: unknownethernetwifi2g3g4gcellularnone

Network.connection 的可能值为unknown、ethernet、wifi、2g、3g、4g、cellular、none。

ionic2 中的网络监测功能相关推荐

  1. ionic3实现app启动时进行网络监测功能

    需要联网的app一般都需要进行网络监测,尤其是在app启动时,若未发现网络连接应给出提示,本文在参照官网的基础上实现了app启动进行网络监测,实现该功能其实非常简单,只需用到cordova的一个插件- ...

  2. Linux用ICMP协议实现简单Ping网络监测功能

    From: http://www.linuxidc.com/Linux/2012-05/61073.htm ICMP是(Internet Control Message Protocol)Intern ...

  3. iOS APP中嵌入网速监测功能

    企鹅的手机管家.一些网页都提供了网速监测功能.在开发过程中我们偶尔也需要开发这个模块,以提示用户网速的状况,增强用户体验. 常见的网络测速方案 通过调研发现,目前常见的网络测速方案只有两种: 方案1: ...

  4. ping 丢包 网络摄像头_FIFA21 新加入网络连接监测功能

    EA 于昨日开始推送 FIFA21 主机平台最新的更新补丁,除了之前讲到的一些内容之外,新加入了 FIFA21 网络连接监测功能.这个功能允许你在游戏的同时,通过屏幕上显示的相关图标,来查看当前网络对 ...

  5. 电子商务网站建设策划书_电子商务网站建设方案:网站设计中网络营销功能不容忽视...

    如果你的网站要在同行业中脱颖而出,那么你的网站必须是网络营销和电子商务的完美结合,一个拥有很强网络营销功能的电子商务网站.以前更多的网站在电子商务上下功夫,而忽视了网络营销的重要性. 一个电子商务网站 ...

  6. sqlserver 安装共享功能什么意思_网络多功能电力仪表安装要注意什么

    ACR 系列网络多功能电力仪表,是针对电力系统.工矿企业.公用设施.智能大厦的电力监控需求而设计的智能表,它集成电力参数的测量(如单相或者三相的电流.电压.有功功率.无功功率.视在功率.频率.功率因数 ...

  7. 论无线网络中的网络与信息安全技术

    试题一 论无线网络中的网络与信息安全技术 无线网络应用越来越广泛,也带来了极大的便利.但是,无线网络各类应用也带来了各种安全问题,迫使管理员采用相应的网络与信息安全技术. 请围绕"论无线网络 ...

  8. 网络监测是如何工作的?

    网络监测是如何工作的? 网络监测(Website Monitoring,又名Network Monitoring),顾名思义,是在网络上对特定的目标进行监测的一种服务. 被监测的一般是在网络上需要长时 ...

  9. Windows CE下的网络监测工具(上)

    作者:马宁 最近被一个软件网络连接的问题,折腾得死去活来.问题本身不复杂,主要是网络设置不同造成的,在这里不多说了.在调试过程中,用到了Windows CE下的几个网络监测工具,才了解到Windows ...

最新文章

  1. IOS上微信在输入框弹出键盘后,页面不恢复,下方有留白,有弹窗弹出时页面内容感应区域错位...
  2. php 如何实现全选,如何用thinkphp框架实现全选,反选,全不选功能?
  3. win32 socket的一个简单的例子 控制台
  4. maven依赖循环引用_shiro+spring boot+mybatis启动循环引用问题解决思路和方案
  5. winform模拟登陆网页_Python爬虫使用selenium爬取群成员信息(全自动实现自动登陆)...
  6. 【学习笔记】模糊控制算法
  7. 如何配置Modbus读写器
  8. 如何在IDEA中使用 Jclasslib
  9. 关于使用Cobalt Strike制作宏病毒
  10. WM_SIZING 使用说明
  11. Best practices for a new Go developer
  12. Hark的数据结构与算法练习之归并排序
  13. 企业邮箱登录入口,企业邮箱在哪登录?邮箱ssl安全吗?
  14. android 代码 lut,Android基于Shader的图像处理(7)-颜色表LUT
  15. 使用windows时卸载office,后想恢复原来的office
  16. 惠普电脑锁屏快捷键怎么设置?
  17. svn下载与安装(内含汉化,亲测可用)
  18. DuiLib : 做一个没有任务栏图标的Dialog
  19. 深度学习介绍-深度学习是什么
  20. Packet Tracer 5.0 汉化包

热门文章

  1. 无符号数与有符号数比较
  2. oracle中英文文献,库存管理外文文献及中英文翻译.doc
  3. IOS 安卓 按键精灵 触动精灵脚本逆向解密
  4. vanilla_使用Vanilla JavaScript的快速简单的搜索过滤器
  5. mac浏览器打不开html,Mac电脑能联网但是浏览器打不开网页怎么解决
  6. 软考高项范文——论信息系统项目的人力资源管理
  7. “铁人三项”运营、技术、资本无短板,BW期货交易平台要逆天爆发?
  8. 深度学习英语高频词汇!!!
  9. devops1--k8s安装
  10. shui jisfnemskddp psijsjfsif