默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] MobileIMSDK发成功,回调messagesBeReceived中如何判断对应是哪条UI上的消息?
阅读(40262) | 评论(5 收藏 淘帖1
技术大大,你好。   请教一个问题,我想实现一个功能,消息发送的时候显示菊花图,发送成功,隐藏菊花图,发送失败,显示红色叹号?
    android开发遇到的问题:消息发送成功回调messagesBeReceived(String theFingerPrint)方法,我怎么判断theFingerPrint 对应的是那一条消息哦?  
比如:我瞬间发送了10条消息,然后回调messagesBeReceived(String theFingerPrint),此时我应该如何判断是那一条消息成功了


即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:[已回复] 求助为MobileIMSDK的移动客户端发送消息增加时间戳的问题下一篇:[已回复] 请问MobileIMSDK端能否实现环信融云那样的公有云逻辑?

本帖已收录至以下技术专辑

推荐方案
评论 5
这个很简单,按我下面的思路下处理。

首先,你的消息肯定是要显示出来的,比如显示在Andriod的ListView或RecycleView里,那肯定要将所有发出的消息做一个数据集合啦,不然你ListView或RecycleView怎么显示?

那么,在保存到数据集合时,你显然可以单独做一个HashMap,key=fingerpring、value=listview里的数据对象,你messagesBeReceived中拿到的theFingerPrint就能找到这个listview的数据单元,那后绪的设置这个数据单元里的消息发送状态这些逻辑,肯定不需要教你吧。。。这是最基本的ListView或RecycleView数据操作和UI显示逻辑了。
引用:JackJiang 发表于 2019-11-14 12:24
这个很简单,按我下面的思路下处理。

首先,你的消息肯定是要显示出来的,比如显示在Andriod的ListView ...

你好,逻辑是按你的这样的,我先显示到界面,然后保存到HahsMap的时候这个fingerpring我不知道去那里获取,一直到我发消息出去的时候
这个是发消息的方法:
new LocalUDPDataSender.SendCommonDataAsync(context, new Gson().toJson(messageBean), friendId)
            {
                @Override
                protected void onPostExecute(Integer code)
                {
                    if(code == 0)
                        LogUtil.d("数据已成功发出!");
                    else
                        LogUtil.d( "数据发送失败。错误码是:"+code+"!");
                }
            }.execute();
一直到这里我还没获取到fingerpring,
所以在消息接收成功的时候回调messagesBeReceived(String theFingerPrint)
我不知道theFingerPrint对应的是那个value。


因为我不知道fingerpring是在什么地方获获取到的
引用:JackJiang 发表于 2019-11-14 12:24
这个很简单,按我下面的思路下处理。

首先,你的消息肯定是要显示出来的,比如显示在Andriod的ListView ...

好的,多谢技术大大,我看到有个发送消息构造方法是可以传递fingerpring的,多谢
引用:linxin 发表于 2019-11-14 14:17
好的,多谢技术大大,我看到有个发送消息构造方法是可以传递fingerpring的,多谢

是的,你自已生成fingerprint就是了,默认是你不传,它就自已生成,你传了当然就用你自已的,用这个就是了:net.openmob.mobileimsdk.server.protocal.Protocal.genFingerPrint()
引用:JackJiang 发表于 2019-11-14 14:24
是的,你自已生成fingerprint就是了,默认是你不传,它就自已生成,你传了当然就用你自已的,用这个就是 ...

好的
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部