我正在尝试在 Android 中创建一个混合应用程序,该应用程序的 Web 视图应该每五分钟左右刷新一次,或者在用户更改服务后几秒钟刷新一次。我尝试过的大多数解决方案都可以总结为这个问题的答案。问题是每次应用程序尝试通过它刷新 Web 视图时,软件都会崩溃,因为“从非 UI 线程调用了一个 UI 元素”。
还有另一种选择吗?我想我可以通过网页本身的 Javascript 进行定期刷新,但是考虑到我们的应用程序被设计为即使没有网络也可以运行,并且当用户更改本机端的状态时我们无法刷新它,这是不是最优的。有没有人有什么建议?
提前致谢
以 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)
| 归档时间: |
|
| 查看次数: |
6924 次 |
| 最近记录: |