在Android上使用PhoneGap处理无互联网连接

在Android上使用PhoneGap处理无互联网连接,android,android-webview,Android,Android Webview,我试图检测用户是否在他们的android设备上连接了互联网。如果他们没有互联网,我希望能够显示一个视图,上面有一个按钮,上面写着“重试”,就像谷歌Play应用商店一样。在使用下面的代码之前,我使用本机android webview没有检测到任何信号,但现在我想找到一种方法,用PhoneGap做同样的事情。另外,如果有人能提供一些关于如何重新加载网页的示例代码,那就太好了 webview.setWebViewClient(new WebViewClient() { publ

我试图检测用户是否在他们的android设备上连接了互联网。如果他们没有互联网,我希望能够显示一个视图,上面有一个按钮,上面写着“重试”,就像谷歌Play应用商店一样。在使用下面的代码之前,我使用本机android webview没有检测到任何信号,但现在我想找到一种方法,用PhoneGap做同样的事情。另外,如果有人能提供一些关于如何重新加载网页的示例代码,那就太好了

    webview.setWebViewClient(new WebViewClient() {
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Intent myIntent = new Intent(view.getContext(), LoadScreen.class);

            startActivity(myIntent);
            finish();
        }
    });

您可以测试
navigator.online
值以确定连接性:


使用以下代码解决了此问题:

public boolean isOnline() {
    ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
        return true;
    }
    return false;
}

那么你的意思是创建一个javascriptinterface?有没有一种方法可以做到这一点,而不必在Java中嵌入javascript?有人告诉我,这可能会造成严重的安全漏洞……哦,对不起,我只使用过phonegap一次,它主要是HTML/js,附带了一些本机代码(但它是iOS,对java/js组合没有任何评论),请考虑改用
isConnected()
,这样可以保证网络完全可用。更具体地说,上的官方Android培训说:“在执行网络操作之前,您应该始终检查
isConnected()
,因为
isConnected()
处理的情况包括不稳定的移动网络、飞机模式和受限的背景数据。”