Problem with PacketListener and ChatManagerListener

Hi,I’m using asmack to create an IM client on Android.And there are some problems now.

I regist a PacketListener and a ChatManagerListener.When sb. send a message to my client,PacketListener goes first and then ChatManagerListener tells a chat was created.My problem is I lost the first message,because chat did not bring message content.I can get message correctly except the first one.I guess it due to the message comes first and then the chat was created.

Did I use the wrong way to listen incoming message?Thanks