我正在开发Android应用程序。我有一个MainActivity
课程,我在其中发布IntentService
。
在IntentService
课程中,我使用方法Thread.sleep
中的onHandleIntent
来处理必要的pause
。
一切正常。
我想要做的是MainActivity UI
中有一个按钮,可以中断Thread.sleep
中的IntentService
。
这可能吗?谢谢。
答案 0 :(得分:1)
不,这是不可能的。您无法从主UI线程处理非UI相关的线程。线程在执行时是一个独立的实体。如果您希望能够取消已在运行的任务,则应考虑使用AsyncTask
并实施doInBackground()
方法。此后,如果UI仍在执行,则可以从UI取消此任务。
答案 1 :(得分:0)
尝试考虑使用Service
代替IntentService
。第一个不会自动停止,这意味着它将监听您可以发送给它的命令(我会使用EventBus),除非它被系统销毁以回收资源。在你不需要它之后,你应该自己停止它。
无论如何,我最好实现start/pause
功能来控制你的流量而不是依赖线程中断。