美文网首页融云SDK相关
解除好友关系步骤

解除好友关系步骤

作者: Yobin_He | 来源:发表于2019-05-06 22:13 被阅读0次
由于融云没有维护好友关系,所以同一个appKey下,都能聊,所以当解除好友关系的时候,必须要自己去处理相应的逻辑,那么怎么去处理呢,现在我有两个思路
  1. 当还未是好友时候,不能给相应的聊天入口,当是好友的时候,就给予好友关系的入口。
  2. 上面的这些处理相应的简单一些,难点在于怎样在解除好友关系的时候怎么去处理相应的逻辑
思路一:
当我们解除好友关系的时候,将本地的对话列表删除,删掉相应的历史记录。并且将被删除人拉成黑名单,这样就可以实现相应的解除好友功能,如果重新加上好友,就将相应的好友成员从黑名单中拉出来
   if (isChecked) {
                    /**
                     * 将某个用户加到黑名单中。
                     *
                     * @param userId   用户 Id。
                     * @param callback 加到黑名单回调。
                     */
                    RongIM.getInstance().addToBlacklist(member_id, null);
                } else {
                    /**
                     * 将个某用户从黑名单中移出。
                     *
                     * @param userId   用户 Id。
                     * @param callback 移除黑名单回调。
                     */
                    RongIM.getInstance().removeFromBlacklist(member_id, null);
思路二:
解除好友关系的时候,删除本地列表和记录,删除历史记录,同时向相应的被删除发送通知,被删除人进入相应的对话界面的时候拉取历史记录,如果最后一条出现相应的通知字段相对应,将好友关系重置,此时发不出相应的信息,同时应该设置接收监听器,防止被删除人,停留在对话页面,一旦接收到相应的通知,也重置好友关系。在这之前也应该在通过好友关系的时候向该好友发送一条消息,这样就防止了在删除后再次通过好友请求,被删除人最后一条仍然为被删除的那条消息,导致发送不了消息。
   /**
     * 获取历史对话通过这种历史对话,判断相应的标记,实现阅后即焚
     * "RC:TxtMsg",
     */
    private void getHistoryMessage() {
        RongIMClient.getInstance().getHistoryMessages(mConversationType, mTargetId, -1, 100, new RongIMClient.ResultCallback<List<Message>>() {
            @Override
            public void onSuccess(List<Message> messages) {
                if (null != messages && messages.size() > 0) {
                 

                        if (messages.get(0).getContent() instanceof InformationNotificationMessage && messages.get(0).getObjectName().equals("RC:InfoNtf")) {
                            String message = ((InformationNotificationMessage) messages.get(0).getContent()).getMessage();
                            if (message.indexOf("已与你解除好友关系") != -1) {
                                isFriend = false; // 解除了好友关系
                            }
                        }
                    }

                }
            }

            @Override
            public void onError(RongIMClient.ErrorCode errorCode) {

            }
        });
    }
  /**
     * 监听接受到的数据
     */
    private void initReceiveConversationNew() {
        RongIM.setOnReceiveMessageListener(new RongIMClient.OnReceiveMessageListener() {
            @Override
            public boolean onReceived(Message message, int i) {
               if(null != message && message.getContent() instanceof InformationNotificationMessage && message.getObjectName().equals("RC:InfoNtf")) {
                    InformationNotificationMessage infoMsg = (InformationNotificationMessage) message.getContent();
                    String msg = infoMsg.getMessage();
                    if (msg.indexOf("已与你解除好友关系") != -1) {
                        isFriend = false; // 解除了好友关系
                    }
                }
                return false;
            }
        });
    }
    

相关文章

  • 解除好友关系步骤

    由于融云没有维护好友关系,所以同一个appKey下,都能聊,所以当解除好友关系的时候,必须要自己去处理相应的逻辑,...

  • 解除好友

    我从来没写过影评,也不太知道影评怎么写,就跟大家分享一下我最近看的一部电影吧。我最近看了《解除好友2:暗网》,这是...

  • Storyboard约束警告

    解除警告步骤:1. 阅读原文

  • 那一种感觉

    刚刚被一个在游戏中认识,之后加了微信的好友解除了好友关系。年中的时候加的,我个人不太上微信,有时朋友发消息,都不...

  • 解除位置关系

    我想解除跟Jade的位置关系。 我发现我很不喜欢被人不尊重被如此粗鲁对待。 不管她是我的学生关系,哪怕是任何人对我...

  • 解除好友:暗网

    关于一个学生捡到别人的电脑,并和他的朋友们一起发现了电脑里的秘密,从而相继惨遭毒手的故事。 A捡到了一台新电脑,谎...

  • 无题

    我和他提分手了,他同意了。 就像走流程一样,解除情侣关系、删好友、取关各种账号……我用最短的时间做完了...

  • 😶

    昨天晚上我第四次也可能是第五次拉黑了赵同学微信,电话,删了QQ好友,解除了情侣关系,连支付宝百度云好友都删了。删了...

  • [Sophia 学习笔记-HR] 014-劳动法风险规避5 过失

    劳动用工风险之五:过失性解除要点及处理流程: 1. 劳动关系终结类型 1.1 解除:协商一致解除;劳动者解除;用人...

  • 过往云烟

    如果你要拉黑我的微信 请你顺路取关我微博拉黑qq解除支付宝淘宝抖音好友关系 因为对你这种人我懒得操作

网友评论

    本文标题:解除好友关系步骤

    本文链接:https://www.haomeiwen.com/subject/prujoqtx.html