====== 好友管理 ====== ---- ===== 获取好友列表 ===== 如果使用环信的好友体系需要先设置 ''EMChatManager.getInstance().getChatOptions().setUseRoster(true)''。 获取好友的 username list,开发者需要根据 username 去自己服务器获取好友的详情。 List usernames = EMContactManager.getInstance().getContactUserNames();//需异步执行 ===== 查找好友 ===== SDK 不提供好友查找的服务,如需要查找好友,需要调用开发者自己服务器的用户查询接口。 为了保证查找到的好友可以添加,需要将用户自己服务器的用户数据库,通过 SDK 的后台接口导入到 SDK 服务器中。 ===== 添加好友 ===== //参数为要添加的好友的username和添加理由 EMContactManager.getInstance().addContact(toAddUsername,reason);//需异步处理 ===== 删除好友 ===== EMContactManager.getInstance().deleteContact(username);//需异步处理 ===== 同意好友请求 ===== //同意username的好友请求 EMChatManager.getInstance().acceptInvitation(username);//需异步处理 ===== 拒绝好友请求 ===== EMChatManager.getInstance().refuseInvitation(username);//需异步处理 ===== 监听好友状态事件 ===== EMContactManager.getInstance().addContactListener(new EMContactListener() { @Override public void onContactAgreed(String username) { //好友请求被同意 } @Override public void onContactRefused(String username) { //好友请求被拒绝 } @Override public void onContactInvited(String username, String reason) { //收到好友邀请 } @Override public void onContactDeleted(List usernameList) { //被删除时回调此方法 } @Override public void onContactAdded(List usernameList) { //增加了联系人时回调此方法 } }); 不用的时候记得调用''removeContactListener()'',比如在activity的ondestory(),以免造成内存泄漏 ===== 黑名单 ===== 获取黑名单列表。 /** * 从本地获取黑名单中的用户的usernames * * @return * @throws EaseMobException */ EMContactManager.getInstance().getBlackListUsernames(); 把用户加入到黑名单。 //第二个参数如果为true,则把用户加入到黑名单后双方发消息时对方都收不到;false,则 //我能给黑名单的中用户发消息,但是对方发给我时我是收不到的 EMContactManager.getInstance().addUserToBlackList(username,true);//需异步处理 把用户从黑名单中移除。 EMContactManager.getInstance().deleteUserFromBlackList(username);//需异步处理 ===== Demo 及 SDK 下载 ===== [[http://www.easemob.com/download/im|下载 Demo 及 SDK]] 详细文档请参考[[http://www.easemob.com/apidoc/android/chat/|Java Doc]] ---- 上一页:[[start:200androidcleintintegration:50singlechat|消息]] 下一页:[[start:200androidcleintintegration:70groupchat|群组管理]]