即时通讯 IM API 参考 v1.3.2
Agora Java IM SDK
Public 成员函数 | 所有成员列表
io.agora.chat.ContactManager类 参考

Public 成员函数

void addContact (String username, String reason) throws ChatException
 
void asyncAddContact (final String username, final String reason, final CallBack callback)
 
void deleteContact (String username) throws ChatException
 
void deleteContact (String username, boolean keepConversation) throws ChatException
 
void asyncDeleteContact (final String username, final CallBack callback)
 
List< String > getAllContactsFromServer () throws ChatException
 
void asyncGetAllContactsFromServer (final ValueCallBack< List< String > > callback)
 
void setContactListener (ContactListener contactListener)
 
void removeContactListener (ContactListener contactListener)
 
void addUserToBlackList (String username, boolean both) throws ChatException
 
void asyncAddUserToBlackList (final String username, final boolean both, final CallBack callback)
 
void saveBlackList (List< String > blackList) throws ChatException
 
void asyncSaveBlackList (final List< String > blackList, final CallBack callback)
 
void removeUserFromBlackList (String username) throws ChatException
 
void asyncRemoveUserFromBlackList (final String username, final CallBack callback)
 
List< String > getBlackListUsernames ()
 
List< String > getBlackListFromServer () throws ChatException
 
void asyncGetBlackListFromServer (final ValueCallBack< List< String > > callback)
 
void acceptInvitation (String username) throws ChatException
 
void asyncAcceptInvitation (final String username, final CallBack callback)
 
void declineInvitation (String username) throws ChatException
 
void asyncDeclineInvitation (final String username, final CallBack callback)
 
List< String > getContactsFromLocal () throws ChatException
 
List< String > getSelfIdsOnOtherPlatform () throws ChatException
 
void asyncGetSelfIdsOnOtherPlatform (final ValueCallBack< List< String > > callback)
 
void asyncSetContactRemark (@NonNull String username, @NonNull String remark, CallBack callback)
 
Contact fetchContactFromLocal (String username) throws ChatException
 
void asyncFetchAllContactsFromLocal (ValueCallBack< List< Contact > > callback)
 
void asyncFetchAllContactsFromServer (ValueCallBack< List< Contact > > callback)
 
void asyncFetchAllContactsFromServer (int limit, String cursor, ValueCallBack< CursorResult< Contact > > callback)
 

详细描述

ContactManager 是用来记录,查询,修改用户的联系人/好友列表的类。

成员函数说明

◆ acceptInvitation()

void io.agora.chat.ContactManager.acceptInvitation ( String  username) throws ChatException

接受加好友的邀请。

同步方法,会阻塞当前线程。

异步方法见 asyncAcceptInvitation(String, CallBack)

参数
username发起好友申请的用户 ID。

◆ addContact()

void io.agora.chat.ContactManager.addContact ( String  username,
String  reason 
) throws ChatException

添加联系人。

同步方法,会阻塞当前线程。

参考: 异步方法见 asyncAddContact(String, String, CallBack)

参数
username要添加的联系人的用户 ID。
reason添加好友的原因。选填参数,可以设置为 null""
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ addUserToBlackList()

void io.agora.chat.ContactManager.addUserToBlackList ( String  username,
boolean  both 
) throws ChatException

将指定用户加入到黑名单中。

可以给黑名单的中用户发消息,但是接收不到对方发送的消息。

异步方法见asyncAddUserToBlackList(String, boolean, CallBack)

批量加入黑名单见saveBlackList(List)

同步方法,会阻塞当前线程。

参数
username要添加到黑名单的用户 ID。
both此参数已废弃。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ asyncAcceptInvitation()

void io.agora.chat.ContactManager.asyncAcceptInvitation ( final String  username,
final CallBack  callback 
)

接受加好友的邀请。

异步方法。

同步方法见acceptInvitation(String)

参数
username发起好友请求的用户 ID。
callback该方法完成的回调。
  • Success表示添加成功;
  • Error表示失败,会包含失败原因。

◆ asyncAddContact()

void io.agora.chat.ContactManager.asyncAddContact ( final String  username,
final String  reason,
final CallBack  callback 
)

添加联系人。

异步方法。

同步方法见 addContact(String, String)

参数
username要添加的联系人的用户 ID。
reason添加好友的原因。选填参数,可以设置为 null""
callback返回调用结果,失败会返回失败原因。

◆ asyncAddUserToBlackList()

void io.agora.chat.ContactManager.asyncAddUserToBlackList ( final String  username,
final boolean  both,
final CallBack  callback 
)

把指定用户加入到黑名单中。

可以给黑名单的中用户发消息,但是接收不到对方发送的消息。

同步方法见 addUserToBlackList(String, boolean)

批量加入黑名单见 asyncSaveBlackList(List, CallBack)

参数
username要添加到黑名单的用户 ID。
both此参数已废弃。
callback该方法完成的回调。
  • Success表示加入成功;
  • Error表示失败,会包含失败原因。

◆ asyncDeclineInvitation()

void io.agora.chat.ContactManager.asyncDeclineInvitation ( final String  username,
final CallBack  callback 
)

拒绝加好友的邀请。

异步方法。

同步方法见declineInvitation(String)

参数
username发起好友申请的用户 ID。
callback该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ asyncDeleteContact()

void io.agora.chat.ContactManager.asyncDeleteContact ( final String  username,
final CallBack  callback 
)

删除好友。

异步方法。

同步方法见 deleteContact(String)

参数
username要删除的用户 ID。
callbackSuccess 表示调用成功,Error 表示调用失败,会包含失败原因。

◆ asyncFetchAllContactsFromLocal()

void io.agora.chat.ContactManager.asyncFetchAllContactsFromLocal ( ValueCallBack< List< Contact > >  callback)

从本地获取所有好友。

参数
callback该方法完成调用的回调,成功会包含所有好友;失败则包含失败原因。

◆ asyncFetchAllContactsFromServer() [1/2]

void io.agora.chat.ContactManager.asyncFetchAllContactsFromServer ( int  limit,
String  cursor,
ValueCallBack< CursorResult< Contact > >  callback 
)

从服务端分页获取所有好友。

参数
limit每页期望获取的好友数量。取值范围[1-50];
cursor从这个游标位置开始取数据,首次获取数据时传空获取最新添加的好友。
callback分页获取结果 CursorResult,包含用于下次获取数据的 cursor 以及好友列表的对象, 如果是最后一页,cursor 返回结果为空字符串。

◆ asyncFetchAllContactsFromServer() [2/2]

void io.agora.chat.ContactManager.asyncFetchAllContactsFromServer ( ValueCallBack< List< Contact > >  callback)

从服务端获取所有好友。

参数
callback该方法完成调用的回调,成功会包含所有好友,失败则包含失败原因。

◆ asyncGetAllContactsFromServer()

void io.agora.chat.ContactManager.asyncGetAllContactsFromServer ( final ValueCallBack< List< String > >  callback)

从服务器获取所有的好友。

同步方法见 getAllContactsFromServer()

参数
callback包含联系人列表。

◆ asyncGetBlackListFromServer()

void io.agora.chat.ContactManager.asyncGetBlackListFromServer ( final ValueCallBack< List< String > >  callback)

从服务器获取黑名单列表。

同步方法见 getBlackListFromServer()

参数
callback该方法调用成功会返回黑名单列表,失败时返回错误原因。

◆ asyncGetSelfIdsOnOtherPlatform()

void io.agora.chat.ContactManager.asyncGetSelfIdsOnOtherPlatform ( final ValueCallBack< List< String > >  callback)

从服务器获取当前用户的其他登录设备的登录 ID 列表。这里 ID 是一个组合值,username + "/" + resource(设备的识别号)。

异步方法。

同步方法见 getSelfIdsOnOtherPlatform()

参数
callback该方法完成的回调,成功会包含用户在其他设备上登录的 ID;失败则包含失败原因。

◆ asyncRemoveUserFromBlackList()

void io.agora.chat.ContactManager.asyncRemoveUserFromBlackList ( final String  username,
final CallBack  callback 
)

将用户从黑名单中移除。

同步方法见removeUserFromBlackList(String)

参数
username要移除的用户 ID。
callback该方法完成的回调。
  • Success表示移除成功;
  • Error表示失败,会包含失败原因。

◆ asyncSaveBlackList()

void io.agora.chat.ContactManager.asyncSaveBlackList ( final List< String >  blackList,
final CallBack  callback 
)

上传黑名单列表到服务器。

同步方法见 saveBlackList(List)

参数
blackList黑名单列表。
callback该方法完成的回调。
  • Success表示上传成功;
  • Error表示失败,会包含失败原因。

◆ asyncSetContactRemark()

void io.agora.chat.ContactManager.asyncSetContactRemark ( @NonNull String  username,
@NonNull String  remark,
CallBack  callback 
)

设置好友备注。

参数
username好友的用户 ID
remark好友备注。
callback该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ declineInvitation()

void io.agora.chat.ContactManager.declineInvitation ( String  username) throws ChatException

拒绝加好友的邀请。

同步方法,会阻塞当前线程。

异步方法见asyncDeclineInvitation(String, CallBack)

参数
username发起好友请求的用户 ID。

◆ deleteContact() [1/2]

void io.agora.chat.ContactManager.deleteContact ( String  username) throws ChatException

删除联系人及其相关的会话。

同步方法,会阻塞当前线程。

参数
username要删除的联系人用户 ID。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ deleteContact() [2/2]

void io.agora.chat.ContactManager.deleteContact ( String  username,
boolean  keepConversation 
) throws ChatException

删除好友。

同步方法,会阻塞当前线程。

参数
username
keepConversation是否保留会话和消息:
  • true 表示保留;
  • false 表示删除。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ fetchContactFromLocal()

Contact io.agora.chat.ContactManager.fetchContactFromLocal ( String  username) throws ChatException

从本地获取单个好友。

异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。
参数
username好友的用户 ID。

◆ getAllContactsFromServer()

List< String > io.agora.chat.ContactManager.getAllContactsFromServer ( ) throws ChatException

从服务器获取所有的好友。

同步方法,会阻塞当前线程。

异步方法见asyncGetAllContactsFromServer(ValueCallBack)

返回
联系人列表。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ getBlackListFromServer()

List< String > io.agora.chat.ContactManager.getBlackListFromServer ( ) throws ChatException

从服务器获取黑名单列表。

异步方法见 asyncGetBlackListFromServer(ValueCallBack)

同步方法,会阻塞当前线程。

返回
该方法调用成功会返回黑名单列表。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ getBlackListUsernames()

List< String > io.agora.chat.ContactManager.getBlackListUsernames ( )

从本地获取黑名单列表。

返回
The block list.

◆ getContactsFromLocal()

List< String > io.agora.chat.ContactManager.getContactsFromLocal ( ) throws ChatException

从数据库获取好友列表。

返回
调用成功会返回好友列表。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ getSelfIdsOnOtherPlatform()

List< String > io.agora.chat.ContactManager.getSelfIdsOnOtherPlatform ( ) throws ChatException

从服务器获取当前用户的其他登录设备的登录 ID 列表,这里的 ID 是由 user ID + "/" + resource (设备的识别号)组成。

同步方法,会阻塞当前线程。

异步方法见 asyncGetSelfIdsOnOtherPlatform(ValueCallBack)

返回
该方法调用成功会返回 ID 列表。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ removeContactListener()

void io.agora.chat.ContactManager.removeContactListener ( ContactListener  contactListener)

移除联系人监听。

添加联系人监听调用setContactListener(ContactListener)

◆ removeUserFromBlackList()

void io.agora.chat.ContactManager.removeUserFromBlackList ( String  username) throws ChatException

将用户从黑名单中移除。

异步方法见 asyncRemoveUserFromBlackList(String, CallBack)

同步方法,会阻塞当前线程。

参数
username要移除的用户 ID。
异常
ChatException如果有方法调用的异常会在这里抛出,可以看到具体错误原因。

◆ saveBlackList()

void io.agora.chat.ContactManager.saveBlackList ( List< String >  blackList) throws ChatException

上传黑名单列表到服务器。

异步方法见 asyncSaveBlackList(List, CallBack)

同步方法,会阻塞当前线程。

参数
blackList黑名单的列表。

◆ setContactListener()

void io.agora.chat.ContactManager.setContactListener ( ContactListener  contactListener)

注册联系人监听。

调用 removeContactListener(ContactListener) 移除监听。

参数
contactListener要注册的联系人监听。

该类的文档由以下文件生成: