EMClient.getInstance().contactManager().setContactListener(new MyContactListener());报错

问题描述

Error:(130, 68) 错误: 需要包含DemoHelper.MyContactListener的封闭实例

解决方案

参照demo中的DemoHelper类中的这个类实现下了 public class MyContactListener implements EMContactListener {        @Override        public void onContactAdded(String username) {            // 保存增加的联系人            Map<String, EaseUser> localUsers = getContactList();            Map<String, EaseUser> toAddUsers = new HashMap<String, EaseUser>();            EaseUser user = new EaseUser(username);            // 添加好友时可能会回调added方法两次            if (!localUsers.containsKey(username)) {                userDao.saveContact(user);            }            toAddUsers.put(username, user);            localUsers.putAll(toAddUsers);           //发送好友变动广播            broadcastManager.sendBroadcast(new Intent(Constant.ACTION_CONTACT_CHANAGED));        }        @Override        public void onContactDeleted(String username) {            // 被删除            Map<String, EaseUser> localUsers = DemoHelper.getInstance().getContactList();            localUsers.remove(username);            userDao.deleteContact(username);            inviteMessgeDao.deleteMessage(username);            //发送好友变动广播            broadcastManager.sendBroadcast(new Intent(Constant.ACTION_CONTACT_CHANAGED));        }        @Override        public void onContactInvited(String username, String reason) {            // 接到邀请的消息,如果不处理(同意或拒绝),掉线后,服务器会自动再发过来,所以客户端不需要重复提醒            List<InviteMessage> msgs = inviteMessgeDao.getMessagesList();            for (InviteMessage inviteMessage : msgs) {                if (inviteMessage.getGroupId() == null && inviteMessage.getFrom().equals(username)) {                    inviteMessgeDao.deleteMessage(username);                }            }            // 自己封装的javabean            InviteMessage msg = new InviteMessage();            msg.setFrom(username);            msg.setTime(System.currentTimeMillis());            msg.setReason(reason);            Log.d(TAG, username + "请求加你为好友,reason: " + reason);            // 设置相应status            msg.setStatus(InviteMesageStatus.BEINVITEED);            notifyNewIviteMessage(msg);            broadcastManager.sendBroadcast(new Intent(Constant.ACTION_CONTACT_CHANAGED));        }        @Override        public void onContactAgreed(String username) {            List<InviteMessage> msgs = inviteMessgeDao.getMessagesList();            for (InviteMessage inviteMessage : msgs) {                if (inviteMessage.getFrom().equals(username)) {                    return;                }            }            // 自己封装的javabean            InviteMessage msg = new InviteMessage();            msg.setFrom(username);            msg.setTime(System.currentTimeMillis());            Log.d(TAG, username + "同意了你的好友请求");            msg.setStatus(InviteMesageStatus.BEAGREED);            notifyNewIviteMessage(msg);            broadcastManager.sendBroadcast(new Intent(Constant.ACTION_CONTACT_CHANAGED));        }        @Override        public void onContactRefused(String username) {            // 参考同意,被邀请实现此功能,demo未实现            Log.d(username, username + "拒绝了你的好友请求");        }    }
解决方案二:
基本上知道怎么搞了,环信的开发人员怎么能把一个不是静态类放入内部类里面呢,这样直接实例化当然报错了

时间: 2025-01-30 06:02:48

EMClient.getInstance().contactManager().setContactListener(new MyContactListener());报错的相关文章

android3.1.1版本上,调用EMClient.getInstance().groupManager().getJoinedGroupsFromServer()报异常

问题描述 想从服务器上获取群组列表,但是一调用这个方法就直接进入异常处理了,用这个方法也是EMClient.getInstance().groupManager().getGroupFromServer(gid)com.hyphenate.exceptions.HyphenateException: Unknown server error.有没有小伙伴遇过这样的问题,求告知是哪里出了问题,或者哪里没有设置好,先谢过 解决方案 看下是否在子线程调用的此方法,这是网络请求,不能再主线程请求

android,环信3.0,进入群聊,没问题,但是在里面发消息和收消息都失败,报错603

问题描述 点击进入群聊是没有问题EMClient.getInstance().groupManager().joinGroup(emGroupId);但是进入群聊以后,发送消息都失败了,报错603,User has no right for this operation.收消息也收不到,这是什么问题?明明都加入群组了,为什么还报这个错? 解决方案 嗯 那你看下你在这个群组中是不是被群主屏蔽了呢,如果被群主屏蔽的话,就没有这个权限了.

报错Caused by: java.lang.NullPointerException

问题描述 : Attempt to invoke virtual method 'void com.hyphenate.chat.a.b.c(boolean)' on a null object reference不影响正常环信使用可以聊天可以收到后台信息,但是老报错,系统提示我的应用已经关闭,但是没关闭,而且还能正常聊天.后台就报空指针. 解决方案 EMClient.getInstance().setDebugMode(true); 初始化的时候 把这个参数改成false试试看.

java-socket通信 客户端报错

问题描述 socket通信 客户端报错 java.net.SocketException: Connection reset服务端 public static void main(String[] args) { ConfigManager man=ConfigManager.getInstance(); List<CommandGroup> group=man.getCommandGroup(); List<Socket> socket=null; try { ServerSoc

php问题-PHP配置问题(mysql_connect)报错

问题描述 PHP配置问题(mysql_connect)报错 之前因为比较懒,就装了PHPnow,PHP版本是5.2,最近因为要学thinkPHP框架,由于用的是thinkPHP3.2,需要PHP5.3以上版本才能跑起来,就手动更新了PHP版本,更新到了5.3.5,并按照正常步骤配置了php.ini文件,打开了(extension_dir = "ext" extension=php_mysql.dll; extension=php_mysqli.dll;)等模块,重启Apache,运行了

java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决

问题描述 java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决 public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) { // final VirementResultInfo result = null; TimerTask task = new TimerTask() { @Override public v

从服务器获取群组,报错,求解!

问题描述 EMGroupManager.getInstance().getGroupsFromServer(); 报错,求解 解决方案 网络不好吧解决方案二:> forum.php?mod=redirect&goto=findpost&pid=3251&ptid=1471网络不好吧网络很好啊,这报错,不明白什么意思解决方案三:> forum.php?mod=redirect&goto=findpost&pid=3253&ptid=1471网络很好

第一行代码-酷欧天气showProgressDialog();代码报错

问题描述 酷欧天气showProgressDialog();代码报错 第一行代码的酷欧天气ChooseAreaActivity,showProgressDialog();总是显示报错,根据原版的代码修改后依然如此,想知道是什么原因. 以下是代码: package activity; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.ProgressD

java-3DES JAVA实现。IDE中正常运行,jetty部署报错。tomcat部署却又能正常运行

问题描述 3DES JAVA实现.IDE中正常运行,jetty部署报错.tomcat部署却又能正常运行 都是在本机部署,使用相同的jdk 1.6.错误如下:java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede at javax.crypto.Cipher.getInstance(DashoA13*..) 该问题不知如何解决.... 望高人指点,感激涕零,不胜荣幸. 解决方案 ... .