====== 好友管理 ======
----
===== 获取好友列表 =====
如果使用环信的好友体系需要先设置 ''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|群组管理]]