il seguente codice funziona bene in tutti i dispositivi con sistema operativo Android 2.x, ma non in un tablet Nexus 7 con 4.1.2Webview shouldOverrideUrlLoading funziona nelle versioni di Android precedenti ad eccezione 4.1.x Jellybean
Il problema è che lo shouldOverrideUrlLoading mai correre. La corsa onPageFinished ok
Apprezzerò qualsiasi aiuto disponibile.
wv = (WebView) root_view.findViewById(R.id.wv);
wv.setBackgroundColor(res.getColor(R.color.def_bgr_color));
wv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
wv.setWebViewClient(new MyWebViewClient());
WebSettings web_settings = wv.getSettings();
web_settings.setJavaScriptEnabled(true);
web_settings.setLoadWithOverviewMode(true);
web_settings.setUseWideViewPort(false);
web_settings.setPluginsEnabled(true);
web_settings.setSupportZoom(true);
web_settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
public class MyWebViewClient extends WebViewClient {
public MyWebViewClient() {
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i(TAG, "RUN shouldOverrideUrlLoading");
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.i(TAG, "RUN onPageFinished");
}
}
String html_str = ... something html ...
wv.loadDataWithBaseURL("file:///android_asset/", html_str, "text/html", "utf-8", null);