2017-03-20 162 views
0

想要问一下,如果webview加载时间过长,例如5秒,是否有办法杀死/移动到Android中的其他活动。在webview加载时杀死Android活动

+0

据我所知,没有“onLoadFinished”回调或类似的东西可以用来确定webview是否已完成加载。 (您需要这样的检查来确定它何时“太长”)。 我刚刚浏览了WebView上的可用侦听器,发现没有,可以用于此。所以,我认为,不,没有简单的方法。 – Grisgram

回答

0

可以使用

new Handler().postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        if(isStillLoading()) 
         //move to the next activity 
       } 
      },3000); 

你必须impliment方法isStillLoading

+0

嗨,我该如何使用isStillLoading()方法? 它在Android Studio中表示无法解析方法 –

+0

,您不能只使用'isStillLoading'方法......您必须实现它。如果你发布你的代码,它会更容易分辨 – AwaisMajeed

0

可以使用WebClient听网页加载的进度 -

private boolean loadingFinished; 

mWebView.setWebViewClient(new WebViewClient() { 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) { 
     return false; 
    } 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap facIcon) { 
     loadingFinished = false; 
     //SHOW LOADING IF IT ISNT ALREADY VISIBLE 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     loadingFinished = true; 
    } 
}); 

用户Handler来检查webview在5秒后加载或不加载 -

new Handler().postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        // Will get executed after 5 seconds 
        if(!loadingFinished) 
         //move to the next activity 
       } 
      },5000); //5000 miliseconds.. i.e. 5 seconds 
相关问题