检查网站是否可访问
Check if Website is reachable
如果没有互联网连接,我的 Android Studio 应用程序必须显示离线站点。如果互联网连接处于活动状态,则显示在线网站。
现在,如果互联网连接处于活动状态,我会查找在线网站正在显示的功能。如果我现在停用 Internet 连接,它必须再次显示离线站点,而不是标准 "Error Site is not avaiable" - 错误页面。
如何解决这个问题?
WebView wb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wb = (WebView) findViewById(R.id.mywb);
wb.setWebViewClient(new MyBrowser());
if ( !isNetworkAvailable() ) { // loading offline
wb.loadUrl("file:///android_asset/index.html");
}else { // loading online
wb.loadUrl("http://www.google.com");
}
}
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService( CONNECTIVITY_SERVICE );
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
你几乎拥有它:
只需在加载新网站时在WebViewClient中添加区分即可。
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if ( !isNetworkAvailable() ) { // loading offline
view.loadUrl("file:///android_asset/index.html");
}
else { // loading online
view.loadUrl(url);
}
return true;
}
}
如果没有互联网连接,我的 Android Studio 应用程序必须显示离线站点。如果互联网连接处于活动状态,则显示在线网站。
现在,如果互联网连接处于活动状态,我会查找在线网站正在显示的功能。如果我现在停用 Internet 连接,它必须再次显示离线站点,而不是标准 "Error Site is not avaiable" - 错误页面。 如何解决这个问题?
WebView wb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wb = (WebView) findViewById(R.id.mywb);
wb.setWebViewClient(new MyBrowser());
if ( !isNetworkAvailable() ) { // loading offline
wb.loadUrl("file:///android_asset/index.html");
}else { // loading online
wb.loadUrl("http://www.google.com");
}
}
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService( CONNECTIVITY_SERVICE );
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
你几乎拥有它: 只需在加载新网站时在WebViewClient中添加区分即可。
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if ( !isNetworkAvailable() ) { // loading offline
view.loadUrl("file:///android_asset/index.html");
}
else { // loading online
view.loadUrl(url);
}
return true;
}
}