一旦你拥有一个活跃的聊天会话,使用sendChatMessage方法来对会话中的联系人发送消息,如下面的代码片段所示:
chatSession.sendChatMessage(“Hello World!”);
指定的消息文本将会传送给在当前会话中的所有联系人。
为了监听新来的消息,实现IChatListener接口,重写它的newMessageReceived处理函数。你可以通过特定的聊天会话或者更加通用的IM会话来注册这个接口,方法是调用addRemoteChatListener方法。
下面的代码片段显示了创建和注册IChatListener接口的框架代码,其中,同时在特定的聊天会话和IM会话中进行注册。需要注意的是,IChatListener接口包含一个桩类,当你创建自己的聊天监听者实现时你必须扩展它。
IChatListener chatListener = new IChatListener.Stub() {
public void newMessageReceived(String from, String body) {
// TODO Handle incoming messages.
}
// Required group chat implementation stubs.
public void convertedToGroupChat(String oldJid,String groupChatRoom,long groupId) {}
public void participantJoined(String groupChatRoom, String nickname) {}
public void participantLeft(String groupChatRoom, String nickname) {}
public void chatClosed(String groupChatRoom) throws RemoteException {}
public void chatRead(String arg0) throws RemoteException {}
};
// Add Chat Listener to the chat session.
chatSession.addRemoteChatListener(chatListener);
// Add Chat Listener to the instant messaging session.
imSession.addRemoteChatListener(chatListener);
使用 IM 会话注册的聊天监听者将接收所有与这个会话有关联的任一聊天会话接收的消息,所以,这里的消息处理方式应该相当的通用。相反的,用一个聊天会话注册的监听者将只关注与这个特定的会话有关的消息和事件。
转载于:https://www.cnblogs.com/xirihanlin/archive/2009/10/04/1577876.html
