建立一个GTalk连接和启动一个IM会话

一个GTalk连接代表着设备和GTalk服务器之间的管道。一个IM会话是消息通道,用于处理所有的即时消息的交通;在一个会话中的所有的即时消息都在这个管道中流动。

 

你可以创建一些不同的连接和很多的IM会话,来连接不同的GTalk服务器或者IM提供商。

 

在默认情况下,一个设备需要单一的GTalk连接来支持单一的IM会话,并且这个会话使用设备所有者的用户名。你可以使用GTalk服务的getDefaultConnection和默认连接的getDefaultSession方法分别得到默认连接和会话,如下面的片段所示:

 

IGTalkConnection gTalkConnection = gtalkService.getDefaultConnection();

IImSession imSession = gTalkConnection.getDefaultImSession();

 

IM会话用于发送文本和数据消息,设定用户状态,管理IM联系人名单和管理组聊等。

 

Android应用程序中,IM会话是处理即时消息的最基本的接口。因此,接下来的代码片段显示了应用程序中ServiceConnection绑定GTalk服务的更加典型的实现。它确保了IM会话对象总是有效的。

 

private IGTalkConnection gTalkConnection = null;

private IImSession imSession = null;

private ServiceConnection gTalkServiceConnection = new ServiceConnection() {

// When the service connects, get the default GTalk session.

public void onServiceConnected(ComponentName className, IBinder service)

{

IGTalkService gtalkService = IGTalkService.Stub.asInterface(service);

try {

gTalkConnection = gtalkService.getDefaultConnection();

imSession = gTalkConnection.getDefaultImSession();

} catch (RemoteException e) { }

}

 

// When the service disconnects, clear the GTalk session.

public void onServiceDisconnected(ComponentName className) {

gTalkConnection = null;

imSession = null;

}

};

转载于:https://www.cnblogs.com/xirihanlin/archive/2009/09/28/1576019.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值