PhoneGap检查设备与移动浏览器的Internet连接

时间:2013-12-26 10:04:03

标签: android jquery-mobile cordova

我是Phonegap和JqueryMobile的新手。我需要检查设备上的互联网连接。在网上看到一些解决方案后,我对方法感到困惑。一些解决方案建议使用PG API,如网络管理器和连接,而一些使用JQMobile方法检查连接。

我的问题是哪个更喜欢?或者实施的目标区域是什么?

2 个答案:

答案 0 :(得分:0)

PhoneGap有自己的功能来检查互联网连接是否可用。Here是该官方文件。

  • 检查互联网是Online document.addEventListener("online", onOnline, false);
  • 检查互联网是Offline document.addEventListener("offline", onOffline, false);

您需要设置

<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager" />对于安卓的

config.xml权限。

您必须在清单中添加一些权限,如下所示

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"> </uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"> </uses-permission>
<uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:0)

试试这个

工作示例http://jsfiddle.net/Gajotres/d5XYR/

在这种情况下,计时器将每100毫秒检查一次互联网连接,并将最终结果设置为javascript全局变量。

一切都取决于这一行:

window.navigator.onLine -- it will be false if the user is offline.

最终解决方案:

var connectionStatus = false;

$(document).on('pagebeforeshow', '#index', function () {
    setInterval(function () {
        connectionStatus = navigator.onLine ? 'online' : 'offline';
    }, 100);
    $(document).on('click', '#check-connection', function () {
        alert(connectionStatus);
    });
});