phonegap - navigator.connection.type未定义

时间:2014-01-18 11:30:08

标签: android networking cordova navigator

我正在尝试通过phonegap / cordova API检查已建立的网络连接,但是,它无法正常工作。

我按照cordova文档中的说明添加了插件,phonegap local plugin list提供了[phonegap] org.apache.cordova.network-information

然而,只需致电

document.addEventListener("deviceready", function () {
  alert(Object.keys(navigator.connection));
}, false);
我的手机上的

结果(Android 4.0.4)始终返回0,并在使用Android 4.4.2日志的模拟器上运行到LogCat navigator.connection未定义。实际上,在alert(Object.keys(navigator));这两台计算机上都不会显示connection密钥。

任何解决方案?

与Cordova 3.3.0的Phonegap

2 个答案:

答案 0 :(得分:3)

安装插件时,它会将文件复制到www / plugins并更新android.json

然后在构建项目时,构建将java复制到platforms / android / src / ...并将js文件复制到platforms \ android \ assets \ www \ plugins(并在plugin.xml中定义任何自定义)

我多次看到android.json未正确更新,javascript文件未被复制。删除和重新安装插件解决了我的问题。

如果您没有对platforms / android文件夹执行手动自定义,我认为清理项目的最简单方法是清空/ plugins文件夹和platforms文件夹,然后重新安装所需的所有插件。 / p>

答案 1 :(得分:0)

我遇到了同样的问题,发现我必须运行“cordova build”,然后状态才能正确返回。

<强>提防 当我运行cordova构建时,它似乎占用了我的〜/ app / www目录中的所有内容,覆盖 app / platforms / android / assets / www /

中的所有内容

我的“安装过程”如下:

cordova create app com.app "App"
cd app
cordova platform add android
cordova plugin add org.apache.cordova.network-information
cordova plugin add org.apache.cordova.camera
cordova plugin add org.apache.cordova.geolocation
cordova build

然后我可以在app / www中进行代码更改,当快乐时,使用'cordova build''部署'它(似乎总是将文件复制到app / platforms / android / assets / www /.

如果我使用:(例如)

添加另一个插件
cordova plugin add org.apache.cordova.file

然后我需要运行

cordova build

让它发挥作用。

我希望这会有所帮助

(我使用的是cordova 3.3.1-0.1.2)