在试图寻找解决android上互联网连接错误的方法并在堆栈溢出上搜索之后,我没有发现对我有用的东西。我试了一下你可以在底部看到的代码,但是它不适用于互联网连接错误。当浏览器中的url不是http://192./loc/index.php
时,每次都会执行http://192./loc/index.php
。当我重定向到index.php时,错误文件就会显示出来。我怎样才能改变这种状况,或者认识一个能检查互联网连接可用性的代码,然后再做些什么呢?
public boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
return netInfo != null && netInfo.isConnectedOrConnecting();
}
public boolean isInternetAvailable() {
try {
InetAddress ipAddr = InetAddress.getByName("google.com");
if (ipAddr.equals("")) {
return false;
mWebView.loadUrl("file:///android_asset/myerrorpage.html");
} else {
return true;
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_localy);
mWebView = (WebView) findViewById(R.id.webview);
// Brower niceties -- pinch / zoom, follow links in place
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.setWebViewClient(new GeoWebViewClient());
// Below required for geolocation
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setGeolocationEnabled(true);
mWebView.setWebChromeClient(new GeoWebChromeClient());
// Load google.com
mWebView.loadUrl("http://192./loc/index.php");
}
}
} catch (Exception e) {
return false;
}
}
发布于 2015-10-25 11:22:02
你的问题不太清楚。如果需要检查连接,则需要:
public boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
return netInfo != null && netInfo.isConnectedOrConnecting();
}
那么,如果需要检查真正的互联网连接,您可以尝试如下所示:
public boolean isInternetAvailable() {
try {
InetAddress ipAddr = InetAddress.getByName("google.com");
if (ipAddr.equals("")) {
return false;
} else {
return true;
}
} catch (Exception e) {
return false;
}
}
并将ACCESS_NETWORK_STATE权限添加到清单中。
https://stackoverflow.com/questions/33328989
复制相似问题