今天尝试在好友列表界面 启动一个service来全局监听消息,但发现后台能看到接收的消息,但程序始终接收不到,
最后发现原来是设置监听器的时候有一个语句的位置放错了,如下
singleChatM = ActivityMain.connection.getChatManager();
//singleChatM.addChatListener(ChatMsgL);我原来放在这里,一直接收不到消息
ChatMsgL =new ChatManagerListener()
{
@Override
public void chatCreated(Chat chat,boolean createdLocally)
{
if(createdLocally)
{
Log.v("Service","Chat Create_____Locally");
}
else
{
Log.v("Service","Chat Create_____NotLocally");
chat.addMessageListener(MessageL);
}
}
};
MessageL =new MessageListener()
{
@Override
public void processMessage(Chat chat, Message message)
{
Log.v("Service","Received message from:("+ message.getFrom()+") Body:"+message.getBody());
}
};
singleChatM.addChatListener(ChatMsgL);//应该放在这里,这样的顺序才是对的