【发布时间】:2014-04-13 02:56:58
【问题描述】:
我创建了一个 webview 并加载了一个 URL。
如果网络连接不可用,它会加载一个带有重试按钮的自定义 URL。
如何在用户连接网络后让此按钮重新加载此活动? (如果通过调用另一个活动然后再次调用此 webview 更容易,那么这也可以。)
-
我是否正确处理了网络连接不可用代码?
下面是我的代码:
import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; import android.support.v4.app.NavUtils; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; public class WebActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web); if(isNetworkStatusAvailable (getApplicationContext())) { Toast.makeText(getApplicationContext(), "Loading...", Toast.LENGTH_SHORT).show(); WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("http://www.bing.com"); myWebView.setWebViewClient(new WebViewClient() { @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Toast.makeText(getApplicationContext(), "Internet Connection Unavailable Or " + description , Toast.LENGTH_LONG).show(); view.loadUrl("file:///android_asset/mob.html"); super.onReceivedError(view, errorCode, description, failingUrl); } }); } else { Toast.makeText(getApplicationContext(), "Internet Connection Unavailable.", Toast.LENGTH_LONG).show(); WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("file:///android_asset/mob.html"); } // Show the Up button in the action bar. setupActionBar(); } public static boolean isNetworkStatusAvailable (Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo netInfos = connectivityManager.getActiveNetworkInfo(); if(netInfos != null) if(netInfos.isConnected()) return true; } return false; } }
【问题讨论】:
-
使用 html 在 webview 中创建一个用于重新加载的按钮
-
javascript:history.go(1) 不起作用
-
字符串摘要 = " " ; webview.loadData(summary, "text/html", null);