消息回执就是“已发送”,“已读”等等状态:
/**
* 消息回执BroadcastReceiver
*
*
*/
private BroadcastReceiver ackMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String msgid = intent.getStringExtra("msgid");
String from = intent.getStringExtra("from");
EMConversation conversation = EMChatManager.getInstance()
.getConversation(from);
if (conversation != null) {
EMMessage message = conversation.getMessage(msgid);
if (message != null) {
if (ChatActivity.activityInstance != null) {
if (message.getChatType() == ChatType.Chat) {
if (from.equals(ChatActivity.activityInstance
.getToChatUsername())) {
return;
}
}
}
}
message.isAcked = true;
}
}
};
代码注册:
// 注册一个ack回执消息的BroadcastReceiver
IntentFilter ackMessageIntentFilter = new IntentFilter(EMChatManager
.getInstance().getAckMessageBroadcastAction());
ackMessageIntentFilter.setPriority(3);
registerReceiver(ackMessageReceiver, ackMessageIntentFilter);
onDestory需要取消注册。