Метод webview.goBack () не вызывает метод toOverrideUrlLoading

Я хочу, чтобы каждая страница, загруженная в мое приложение, проходила через метод переопределения url (где я делаю некоторые модификации html). Как я могу это достичь?

public boolean shouldOverrideUrlLoading(WebView view, String url) { // do some html modifcations (myhtml) view.loadDataWithBaseURL(url, myhtml, "text/html", "utf-8", url); return false; } public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) { web1.goBack(); // go back 1 step return true; } return super.onKeyDown(keyCode, event); } 

На странице законченный метод вы получите URL-адрес, и вы можете перезагрузить URL-адрес

  @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); _dialog.dismiss(); } @Override public void onReceivedError(WebView view, int errorCode,String description, String failingUrl) { // TODO Auto-generated method stub super.onReceivedError(view, errorCode, description, failingUrl); try{ _dialog.dismiss(); Toast.makeText(Showwebviewlatestnews.this, "NO Internet Connection Available", Toast.LENGTH_SHORT); }catch (Exception e) { } } 

Попробуйте вернуть shouldOverrideUrlLoading true
Вот объяснение: –

Истина, если хост-приложение хочет оставить текущий WebView и обработать сам URL, иначе верните false. Справка

Так что это должно сделать трюк,

 public boolean shouldOverrideUrlLoading(WebView view, String url) { // do some html modifcations (myhtml) view.loadDataWithBaseURL(url, myhtml, "text/html", "utf-8", url); return true; } 

И обрабатывать backPressed() как –

 @Override public void onBackPressed() { if (webview != null && webview.canGoBack()) { webview.goBack(); } else { super.onBackPressed(); } } 

// Замените это

  public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) { web1.goBack(); // go back 1 step return true; } return super.onKeyDown(keyCode, event);} 

С

 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) { web1.goBack(); // go back 1 step web1.goBack(); return true; } return super.onKeyDown(keyCode, event);} 
Intereting Posts
Исключение, возникающее во время рендеринга: Циклические зависимости не могут существовать в RelativeLayout Сведения об исключении регистрируются в окне> Показать представление> Журнал ошибок Проверка подписки на сообщение о покупке приложения для Android в Python в Google App Engine Внедрение объекта перетаскивания в функцию края экрана Сохранение MapFragment (Maps v2) Состояние в Android Как сделать диалог выбора номера? Возможно ли иметь ViewPager внутри ScrollView? Распознавание активности службы Google Play не работает после переключения режима местоположения на GPS и обратно Как отключить представление за моим SlidingDrawer в Android? ScrollView не выполняет прокрутку вниз «Ожидаемый ресурс ошибки интерполятора типа » и «Не удается разрешить символ» при создании подписанного APK Откройте внешние ссылки в браузере с веб-браузером Android Как проверить, может ли файл быть открыт сторонним приложением перед загрузкой Как установить фон для textview в коде? Вызывается onServiceConnected только после службы onCreate? Может ли Android «убить» активность, не убивая приложение?