从 Service 启动的 Android AsyncTask

标签 android service android-asynctask

我想实现一个将启动 AsyncTask 的服务。

在 AsyncTask onProgressUpdate() 中,我想更新主线程中的 TableLayout。

一切正常,但有一个疑惑:主线程被销毁或不可见,如何处理?
该服务将继续,直到它停止 self (),这就是我想要的。
但是 AsyncTask 怎么知道不更新 TableLayout?

最佳答案

我认为解决方案是通过 onResume() 和 onPause() 上的消息让服务知道主 Activity 何时可见或不可见。

服务将依次在 AsyncTak 中设置一个标志,当该标志为 false 时,onProgressUpdate() 将退出而不执行 UI 更新。

所以我想,如果我正确理解服务文档,我的服务将必须具有启动粘性并且还受同一 Activity 的约束。我只需要弄清楚如何重新绑定(bind)正在运行的服务。

关于从 Service 启动的 Android AsyncTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823204/

相关文章:

Java、Android 字体质量似乎很低

android - 为什么它在 Activity 销毁后在服务上抛出 android.os.NetworkOnMainThreadException?

WCF服务设计问题

php - 存储 JSON 的多个结果

java - 使用 JSON 安全地将数据从 Java 传递到 PHP 以及从 PHP 传递到 Java 的最佳实践

android - 如何在运行时在框架布局android中的指定位置创建按钮?

java - 将泛型对象转换为泛型类

windows - 安装/卸载 Windows 服务

java - 没有回调接口(interface)的AsyncTask

android - 将函数传递到全局 AsyncTask Android