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);
我尝试了很多方法,但从未得到正确的结果。 谢谢。
答案 0 :(得分:0)
首先,请更改shouldOverrideUrlLoading
的实现,以便它不会在WebView上调用loadUrl
,这样做是错误的。获得该回调时,URL加载正在进行中,您不能再次启动它。
其次,要解决您的问题,您可以将延迟消息发送到将在所需超时后执行错误代码的处理程序,并在WebViewClient.onPageFinished出现时删除该消息吗?