Just as #11 say: callback sometimes occurs null pointer I have an idea: Check if tag of callback and tag of message-bundle are same by setting a tag when send message. It can guarantee a one-to-one correspondence between callbacks and messages.