为什么这个Android处理程序不工作?

时间:2015-07-04 12:27:23

标签: android

如下所示,我创建了两个扩展Handler的内部类。我已经阅读了Android源文件中的代码,发现Handler.sendEmptyMessage()只将消息排入Looper的消息队列中。

public class MainActivity extends Activity{
    private Handler handler = new Handler(Looper.getMainLooper()){
        public void handleMessage(Message msg){
            //handle method1
        }
    }
    ......
}

public class MyService extends Service{
    private Handler handler = new Handler(Looper.getMainLooper());

    public void test(){
        handler.sendEmptyMessage(0x00);
    }
    ......
}

所以,我很困惑为什么Handler中的第一个MainActivity无法处理来自Handler中第二个MyService的消息,当使用相同的循环器构建时? / p>

1 个答案:

答案 0 :(得分:0)

您无法在处理程序之间进行通信,每个处理程序都有自己的消息队列 - 如下所示:

Handlers initialized with Looper.getMainLooper() does not respond to message callbacks