class MsgHandler extends AVIMTypedMessageHandler {

@Override
public void onMessage(AVIMTypedMessage message, AVIMConversation conversation, AVIMClient client) {
// 请按自己需求改写
switch(message.getMessageType()) {
case AVIMReservedMessageType.TextMessageType:
AVIMTextMessage textMsg = (AVIMTextMessage)message;
Logger.d("收到文本消息:" + textMsg.getText() + ", msgId:" + textMsg.getMessageId());
break;

case AVIMReservedMessageType.FileMessageType:
  AVIMFileMessage fileMsg = (AVIMFileMessage)message;
  Logger.id("收到文件消息。msgId=" + fileMsg.getMessageId() + ", url=" + fileMsg.getFileUrl() + ", size=" + fileMsg.getSize());
  break;

case AVIMReservedMessageType.ImageMessageType:
  AVIMImageMessage imageMsg = (AVIMImageMessage)message;
  Logger.id("收到图片消息。msgId=" + imageMsg.getMessageId() + ", url=" + imageMsg.getFileUrl() + ", width=" + imageMsg.getWidth() + ", height=" + imageMsg.getHeight());
  break;

case AVIMReservedMessageType.AudioMessageType:
  AVIMAudioMessage audioMsg = (AVIMAudioMessage)message;
  Logger.id("收到音频消息。msgId=" + audioMsg.getMessageId() + ", url=" + audioMsg.getFileUrl() + ", duration=" + audioMsg.getDuration());
  break;

case AVIMReservedMessageType.VideoMessageType:
  AVIMVideoMessage videoMsg = (AVIMAudioMessage)message;
  Logger.id("收到视频消息。msgId=" + videoMsg.getMessageId() + ", url=" + videoMsg.getFileUrl() + ", duration=" + videoMsg.getDuration());
  break;

case AVIMReservedMessageType.LocationMessageType:
  AVIMLocationMessage locMsg = (AVIMLocationMessage)message;
  Logger.id("收到位置消息。msgId=" + locMsg.getMessageId() + ", latitude=" + locMsg.getLocation().getLatitude() + ", longitude=" + locMsg.getLocation().getLongitude());
  break;
}

}

@Override
public void onMessageReceipt(AVIMTypedMessage message, AVIMConversation conversation, AVIMClient client) {
// 请加入你自己需要的逻辑...
}
}

你好,请指出哪一行的那一个变量是 enum?

请看图片里面的标注,或者直接把 https://www.leancloud.cn/docs/realtime_guide-android.html#接收富媒体消息2 这里面的代码直接copy到androidstudio你就能明白是什么问题了。

在 2016-09-06 18:41:40,"BinaryHB" marketing@leancloud.rocks 写道:

| | BinaryHB September 6 | |

你好,请指出哪一行的那一个变量是 enum?

|

通过邮件回复或者在浏览器中访问 https://forum.leancloud.cn/t/int-enum/10793/2

你好,case 里边请使用形如 AVIMReservedMessageType.TextMessageType.getType() 的方式,getType 返回的才是 int 值,这里文档确有问题,我这里改一下。

好的,谢谢,获取聊天记录的时候报了这个错,请问是什么原因?com.avos.avoscloud.im.v2.AVIMException: CONVERSATION_LOG_REJECTED

在 2016-09-07 12:03:55,"daweibayu" marketing@leancloud.rocks1 写道:

| | daweibayu September 7 | |

你好,case 里边请使用形如 AVIMReservedMessageType.TextMessageType.getType() 的方式,getType 返回的才是 int 值,这里文档确有问题,我这里改一下。

|

通过邮件回复或者在浏览器中访问 https://forum.leancloud.cn/t/int-enum/10793/4