Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-Java-WebView>>计算页面加载时间,如果未加载,则指定新活动_Java_Android_Webview - Fatal编程技术网

Android-Java-WebView>>计算页面加载时间,如果未加载,则指定新活动

Android-Java-WebView>>计算页面加载时间,如果未加载,则指定新活动,java,android,webview,Java,Android,Webview,这是我的webview活动的代码。 我想实现一个页面加载功能,当URL被调用时,它将在后台计数。如果URL在5000毫秒内没有完全加载,下面的代码必须自动运行。 我想不出该怎么做 WebView web; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Bundle

这是我的webview活动的代码。 我想实现一个页面加载功能,当URL被调用时,它将在后台计数。如果URL在5000毫秒内没有完全加载,下面的代码必须自动运行。 我想不出该怎么做

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;
                                                                        }
                                                }
我试过很多方法,但从来没有得到正确的结果。
谢谢。

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

第二,为了解决您的问题,您是否可以向处理程序发送一条延迟消息,该处理程序将在所需超时后执行错误代码,如果WebViewClient.onPageFinished首先出现,则删除该消息

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