访问服务启动的线程

时间:2011-06-23 14:12:19

标签: android multithreading service android-activity

我在绕过这个想法时遇到了一些麻烦,我想要一些输入。我从我的初始活动开始一个服务,它运行一个新的线程(在这种情况下实现Runnable的类,而不是扩展Thread)在它的onCreate()中。线程首先创建一个TCP客户端套接字,然后在应用程序运行,活动切换等时开始在后台每隔X秒发送请求和接收响应。我需要能够从我的所有活动访问线程但是,告诉它在触发UI元素时发送自定义请求。可以从静态上下文访问该服务,但是当我尝试访问正在运行的线程实例时,我得到与在主线程上执行网络操作相关的错误,这意味着它不是实际的实例,而是我正在访问的UI线程。我考虑在共享Application类中实现一个消息队列,该服务可以轮询新消息,但这看起来很难看。也许我正在解决这个错误,有更好/更清洁的方法来解决这个问题?任何建议或帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用Looper/Handler机制向帖子发送消息。