如何在Android中使用Handler实现两个线程之间的双向通信?
我有一个产生线程B的服务A。从B到A的通信相当简单,只需将一个处理程序传递给B的构造函数,但如何从A到B呢?B没有任何自动分配给它的循环程序。
有人知道答案了吗?
发布于 2011-04-14 10:48:05
Here是使用处理程序解释线程和通信的好帖子。此外,同一个博客有许多关于Android中各种线程构造的帖子
发布于 2011-04-30 04:13:49
要解决为刚创建的线程(但可能尚未初始化)获取处理程序的问题,请参见How to create a Looper thread, then send it a message immediately?
发布于 2011-04-14 10:46:22
在新线程中调用Looper.prepare()
,将为该线程创建循环。然后,您可以创建一个Handler来传递回另一个线程。
也就是说,在调用Looper.prepare()
之后,语句Handler h = new Handler()
将在新线程的循环上创建一个处理程序。
http://developer.android.com/reference/android/os/Looper.html
https://stackoverflow.com/questions/5657968
复制相似问题