热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phonegap3.4检查网络状态

参考文档:https:github.comapachecordova-plugin-network-informationblobmasterdocindex.md1、安装插件cord

参考文档:

https://github.com/apache/cordova-plugin-network-information/blob/master/doc/index.md


1、安装插件

cordova plugin add org.apache.cordova.network-information

2、js脚本

var networkState = navigator.connection.type;
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';

console.log('Connection type: ' + states[networkState]);

3、修改后台java类:NetworkManager

安装好插件后,如果联网状态下,应用运行没有问题,但是在断网状态下,应用无法启动

private JSONObject getConnectionInfo(NetworkInfo info) {
String type = TYPE_NONE;
if (info != null) {
// If we are not connected to any network set type to none
if (!info.isConnected()) {
type = TYPE_NONE;
}
else {
type = getType(info);
}
}
/***********open************/
String extraInfo = null;
if(info != null){
extraInfo = info.getExtraInfo();
}
// String extraInfo = info.getExtraInfo();
/***********************/

Log.d("CordovaNetworkManager", "Connection Type: " + type);
Log.d("CordovaNetworkManager", "Connection Extra Info: " + extraInfo);

JSONObject cOnnectionInfo= new JSONObject();

try {
connectionInfo.put("type", type);
connectionInfo.put("extraInfo", extraInfo);
} catch (JSONException e) { }

return connectionInfo;
}

上面的代码中,info为null,导致应用启动过程中抛出异常,修改了源码


这个异常应该不会是官方的bug,但是在我的应用中会报错,其他的插件用起来都没有问题,唯独这个插件。原因待查明。


推荐阅读
author-avatar
a7431555
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有