WebViewを含む私のアクティビティでは、onBackPressed()メソッドをオーバーライドします。履歴ページがある場合は goBack()のメソッドはAndroid WebViewでは機能しません
@Override
public void onBackPressed() {
if(mWebView.canGoBack()){
Log.d("DEBUG","canGoBack");
mWebView.goBack();
return;
}
super.onBackPressed();
}
文字列「canGoBack」
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()メソッドが呼び出されるログが呼び出されます。しかし私の活動は変わりません。ヒストリページが2つある場合は、2回押して、最後のアクティビティに戻ります。私はリフレッシュする必要があると思う。 – sunpeijie