在包含WebView的我的活動中,我重寫了onBackPressed()方法,這裏是我的代碼。
goBack()方法在Android WebView中不起作用
@Override
public void onBackPressed() {
if(mWebView.canGoBack()){
Log.d("DEBUG","canGoBack");
mWebView.goBack();
return;
}
super.onBackPressed();
}
字符串「canGoBack」如果有一個歷史頁打印,但活動沒有變化。這是我初始化在onCreate()方法中調用的WebView代碼。
private void initWebViewSettings() {
mWebView.setWebViewClient(new MyWebViewClient());
WebSettings webSettings = mWebView.getSettings();
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); //no cache
webSettings.setJavaScriptEnabled(true);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
mWebView.addJavascriptInterface(new WebAppInterface(this), "Android");
}
這裏是我的onResume()方法中,我調用使用loadURL()。
@Override
protected void onResume() {
super.onResume();
mShopId = getIntent().getIntExtra(App.SHOP_ID,-1);
if(mShopId != -1){
mWebView.loadUrl(App.SHOP_URL + mShopId + App.INDEX);
}
}
謝謝你的解決方案。我不這麼認爲。日誌建議goBack()方法被調用。但我的活動沒有變化。如果有兩個歷史記錄頁面,請按兩次,然後返回上一個活動。我認爲它需要刷新。 – sunpeijie