使 Android WebView 定期自动刷新

0 android webview

我正在尝试在 Android 中创建一个混合应用程序,该应用程序的 Web 视图应该每五分钟左右刷新一次,或者在用户更改服务后几秒钟刷新一次。我尝试过的大多数解决方案都可以总结为这个问题的答案。问题是每次应用程序尝试通过它刷新 Web 视图时,软件都会崩溃,因为“从非 UI 线程调用了一个 UI 元素”。

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

提前致谢

Eug*_*e H 5

以 Toast 为例,说明如何继续调用它。你可以调用 reload(); 在用户更改信息而不是 onCreate 之后。

在 oncreate 中加载

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

然后在它之后调用它。例如,它将继续每 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);
}
Run Code Online (Sandbox Code Playgroud)