gpt4 book ai didi

android - 当通过 WebView.loadURL() 指定不存在的 URL 时,WebViewClient.onPageStarted() 被调用两次

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:17 25 4
gpt4 key购买 nike

这是我的代码

public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


WebView webView = (WebView)findViewById(R.id.webView);

// Assign webclient.
webView.setWebViewClient(new WebViewClient( ) {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("TAG", url);
}

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.d("TAG", "failed: " + failingUrl + ", error code: " + errorCode + " [" + description + "]");
}
});


webView.loadUrl("http://m.vooglemoogle.com" );
}



}

结果如下:

03-29 13:40:27.005: DEBUG/TAG(10948): http://m.vooglemoogle.com/
03-29 13:40:27.599: DEBUG/TAG(10948): failed: http://m.vooglemoogle.com/, error code: -2[The URL could not be found.]
03-29 13:40:27.607: DEBUG/TAG(10948): http://m.vooglemoogle.com/

请注意对 onPageStarted() 的另一个调用...有人知道这背后的原因吗?干杯!

最佳答案

我在使用 API 7 的 AVD 上测试我的应用程序时遇到了同样的问题(不确定这是否相关,但无论如何)。

我注意到回调的确切顺序如下:

onPageStarted()     // url = non-existing url
onLoadResource() // url = non-existing url
onReceivedError() // url = non-existing url

onPageStarted() // url = non-existing url
onLoadResource() // url = file://android_assed/webkit/android-weberror.png
onPageFinished() // url = non-existing url

所以我猜 Android“网页不可用”页面的加载触发了第二个 onPageStarted 调用。

关于android - 当通过 WebView.loadURL() 指定不存在的 URL 时,WebViewClient.onPageStarted() 被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com