已更改,您可以在此处查看:https://developer.android.com/guide/webapps/migrating.html
我正在使用targetsdkversion和minsdkversion设置为9来编译我的应用程序,因此我的webview以“quirks模式”启动,如下所示:https://developer.android.com/guide/webapps/migrating.html
这个怪癖模式在我的webview上遇到了一些问题,因为当我在具有较低Android版本的设备中启动我的应用程序时它工作得很好但是当我在4.4设备中启动它时,没有任何webview事件被调用,pagestarted,pagefinished ..等等,没有人被召唤....
我需要调用这些方法,因为我需要因某些原因覆盖它们。 ¿我怎么解决?
这是我的代码:
WebView adWebView = new WebView(this.ctx);
adWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
if(url.length() > 0){
if (!url.startsWith("http://") && !url.startsWith("https://")){
url = "http://" + url;
}
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
SectionManager.getCurrentActivity().startActivity(browserIntent);
}else{
onAdFailed();
}
//onAdFailed();
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
onAdReceived(view);
view.clearCache(true);
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// TODO Auto-generated method stub
onAdFailed();
}
});
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
adWebView.setLayoutParams(params);
adWebView.getSettings().setJavaScriptEnabled(true);
adWebView.getSettings().setLoadWithOverviewMode(true);
adWebView.getSettings().setUseWideViewPort(true);
adWebView.setBackgroundColor(Color.TRANSPARENT);
adWebView.loadUrl(url);