Cordova - 检查WIFI与互联网的连接

时间:2013-12-12 09:54:27

标签: android ios cordova android-wifi smartphone

我使用Cordova开发智能手机应用程序。

在这个应用程序中,我需要在向服务器发送请求之前检查互联网连接。

为了做到这一点,我使用了Cordova Connection API,但是如果设备连接到没有Internet连接的WIFI网络,则此API说我们有WIFI连接,

有没有办法检查WIFI网络上是否有互联网?

3 个答案:

答案 0 :(得分:3)

在发送实际请求之前发送虚假的ajax请求,如果你得到并且错误代码为'0'则表示没有互联网连接。

$.ajax({
    url: 'TestUrl',
    type: 'GET',
    success: function (data) {
                // Go ahead with you request
    },
    error: function (x, y, z) {
        if (x.status == 0) {
            alert("Please connect to the internet");
        }
       else{
           alert("Other Error Occured")
        }
    }
});

其次,您还可以使用HTML 5导航器

var condition = navigator.onLine ? "ONLINE" : "OFFLINE";

答案 1 :(得分:1)

我没有多少使用过cordova,但我认为它无法识别您是否可以访问互联网,它只是识别您是否连接到网络。

您可以进行解决方法:尝试发送您的请求并捕获失败时收到的错误,从那里您可以告诉用户他没有互联网访问权。

答案 2 :(得分:1)

您可以使用cordova plugin add org.apache.cordova.network-information添加Connection功能。 These are the Connection docs

该插件可以访问window.Connection

然后你可以做类似的事情:

if (navigator.connection.type == Connection.NONE) {
    alert("you're going to need more internet, brah");
}

您还可以访问其他状态,例如CELL_2GCELL_3GWIFI等等。