Java android互联网连接可用性
在尝试和搜索stackoverflow来解决android上的互联网连接错误后,我没有找到适合我的方法。我尝试了代码,你可以看到在底部,但它不会工作的互联网连接错误<代码>mWebView.loadUrl(“file:///android_asset/myerrorpage.html");每次浏览器中的url不是Java android互联网连接可用性,java,android,webview,error-handling,Java,Android,Webview,Error Handling,在尝试和搜索stackoverflow来解决android上的互联网连接错误后,我没有找到适合我的方法。我尝试了代码,你可以看到在底部,但它不会工作的互联网连接错误mWebView.loadUrl(“file:///android_asset/myerrorpage.html");
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;
}
}
你的问题不是很清楚。 如果需要检查连接,则需要:
public boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
return netInfo != null && netInfo.isConnectedOrConnecting();
}
然后,如果需要检查真实的internet连接,您可以尝试以下方法:
public boolean isInternetAvailable() {
try {
InetAddress ipAddr = InetAddress.getByName("google.com");
if (ipAddr.equals("")) {
return false;
} else {
return true;
}
} catch (Exception e) {
return false;
}
}
并将“访问网络”状态权限添加到清单中。好的,您的ip地址看起来有误,它是一个四点符号,即w.x.y.z。你需要添加额外的代码来检查是否有连接,你搜索了吗?这里有一个在我编辑我的ip地址为stackoverflow192.168.x.y或192.169.x.y是常见的与家庭局域网的烂泥,没有太多的,因为你会背后的一个公共ip地址。好吧,我编辑我的代码一点。在哪里可以将我的代码添加到您的第二个代码段中,或者在哪里可以将您的第二个代码段添加到我的代码中?我想您需要调用第一个isOnline方法。如果返回true,则可以调用isInternetAvailable方法。您可以在需要使用它的地方添加。您需要在onCreate方法中调用这些方法,否则它们将永远无法工作。您还需要在return语句之前加载页面:“myerrorpage.html”,否则它将永远不会调用。