繁体   English   中英

Android-Java-WebView >>计算页面加载时间(如果未加载),表示有新活动

[英]Android - Java - WebView >> Count Page Loading time, if not loaded, intent new activity

WebView web;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Bundle extras = getIntent().getExtras();  
    String uid = extras.getString("uid"); 
    web = (WebView) findViewById(R.id.webview01);
    web.setWebViewClient(new myWebClient());
    web.getSettings().setJavaScriptEnabled(true);
    web.loadUrl("http://xxx.xxx.xxx.xxx/android/login.php?uid="+uid);
                                                }

public class myWebClient extends WebViewClient  {
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
                                                                        }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)   {
        view.loadUrl(url);
        return true;
                                                                        }
                                                }

这是我的webview活动的代码。 我想实现一个页面加载功能,该功能将在调用URL时在后台计数。如果URL在5000ms内未完全加载,则下面的代码必须自动运行。 我不知道该怎么算。

            Intent i = new Intent(MainActivity.this, InternetError.class);
            startActivity(i);

我尝试了很多方法,但从未获得正确的结果。 谢谢。

首先,请更改您的shouldOverrideUrlLoading实现, shouldOverrideUrlLoading在WebView上调用loadUrl ,这样做是错误的。 收到回调时,URL加载正在进行中,请勿再次启动它。

其次,要解决您的问题,您是否可以将延迟的消息发布到Handler,该消息将在所需的超时后执行您的错误代码,如果WebViewClient.onPageFinished首先出现,则将其删除?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM