定期制作Android WebView autorefresh

时间:2015-01-31 18:47:39

标签: android webview

我正在尝试在Android中创建一个混合应用程序,该应用程序的Web视图应该每隔五分钟左右刷新一次,或者在用户完成服务更改后几秒钟刷新。我尝试过的大多数解决方案都可以归纳为this SO question's answer.问题是,每次应用程序尝试刷新Web视图时,软件都会因为“从非UI线程调用UI元素”而崩溃。

还有另一种选择吗?我想我可以通过网页本身的Javascript进行定期刷新,但考虑到我们的应用程序设计为即使没有网络也能运行,我们无法在用户更改本机状态时刷新它,它是不是最佳的。有没有人有任何建议?

提前致谢

1 个答案:

答案 0 :(得分:3)

使用Toast作为示例,您可以继续调用它。你可以调用reload();在用户更改信息而不是onCreate之后。

加载oncreate

Toast.makeText(LogThirdPager.this, "Hello", Toast.LENGTH_SHORT).show();
// mWebview.loadUrl("http://www.google.com");
reload();

然后在它之后调用它。例如,它将每5秒继续重新加载页面。

public void reload() {
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            // Do something after 5s = 5000ms
            Toast.makeText(LogThirdPager.this, "Hello", Toast.LENGTH_SHORT).show();
            reload();
            // mWebview.loadUrl("http://www.google.com");
        }
    }, 5000);
}