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() 메소드가 호출되는 로그가 호출됩니다. 그러나 내 활동에는 변화가 없습니다. 두 개의 기록 페이지가있는 경우 두 번 뒤로 누르면 마지막 활동으로 돌아갑니다. 나는 상쾌하게 할 필요가 있다고 생각한다. – sunpeijie