我正在为我的博客创建一个应用程序。我使用webview在主活动中加载博客站点。为了提高效率,当url加载过程进行时,我使用ProgressBar来执行加载动画。当另一个url被调用时,也添加方法,在系统web浏览器中打开它。
这是我遇到麻烦的代码。问题是,当程序捕获另一个url时,它会打开一个单独的系统浏览器,但在我从Android结束应用程序之前,它一直滞后。有人能解决这个问题吗?或者还有其他的选择吗?
webv.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if(!webv.getUrl().startsWith("https://lktechtronic.blogspot.com")){
webv.stopLoading();
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(webv.getUrl())));
webv.goBack();
}else if(webv.getUrl().startsWith("https://lktechtronic.blogspot.com")){
loadinglay.setVisibility(View.VISIBLE);
if (newProgress == 100) {
loadinglay.setVisibility(View.GONE);
}
}
}
});发布于 2017-08-25 16:15:01
您可以实现shouldOverrideUrlLoading并创建自己的WebView来加载任何重定向。
https://stackoverflow.com/questions/45885560
复制相似问题