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