在Android 4.4设备中未校准WebView.setWebViewClient事件
在android 4.4中,webview已更改,您可以在此处看到: 我正在编译我的应用程序,targetsdkversion和minsdkversion设置为9,因此我的webview将在“怪癖模式”下启动,如下所述: 这种怪癖模式对我的webview有一些问题,因为当我在android版本较低的设备上启动我的应用程序时,它工作得很好,但当我在4.4设备上启动它时,没有调用webview事件、pagestarted事件、pagefinished事件。。。等等,没有一个被称为 我需要调用这些方法,因为出于某些原因我需要重写它们。我怎样才能解决它 这是我的代码:在Android 4.4设备中未校准WebView.setWebViewClient事件,android,webview,android-webview,android-4.4-kitkat,webviewclient,Android,Webview,Android Webview,Android 4.4 Kitkat,Webviewclient,在android 4.4中,webview已更改,您可以在此处看到: 我正在编译我的应用程序,targetsdkversion和minsdkversion设置为9,因此我的webview将在“怪癖模式”下启动,如下所述: 这种怪癖模式对我的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);
我在KitKat从未遇到过WebViewClient问题。您是否在基于操作系统版本的代码中更改了任何内容?不,没有,但我正在使用targetsdk 9进行编译,这对我来说是必需的,因此webview是在quirks模式下执行的