【发布时间】:2012-04-14 07:28:18
【问题描述】:
在我的小应用程序中,我从系统(不受我控制)接收到一系列排队的 onEventXXX()。
不保证那些 onEventXXX() 的时间。唯一可以保证的是它们会按照它们被放入队列的顺序来接收。
在 onEventXXX() 中,我必须触发一个操作 (O),而该操作 (O) 在另一个进程 (P) 正在进行时无法启动。
但我不能仅仅放弃这个“触发操作(O)”。我必须等到该过程 (P) 完成后,然后触发它。
IOW,我必须排队或至少推迟“触发操作”,直到该过程 (P) 完成。
我实现这一点的直接想法是,我不会触发操作 (O),而是:
- 启动一次性计时器,定期检查进程 (P)
- 计时器结束后,如果进程 (P) 未完成,请重新开始计时(本身)。
- 计时器结束后,如果进程 (P) 完成,则触发操作 (O)。
但知道 Android 的丰富性,我怀疑有更好的方法来做到这一点,已经内置到系统/API 中。
如果有更好的方法来实现上述,会是什么?
【问题讨论】:
-
你用什么类来“处理”? java.lang.Process?
标签: android android-asynctask android-event