建立一个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
總結
以上是生活随笔為你收集整理的建立一个GTalk连接和启动一个IM会话的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【牛客讨论区】第六章:Elasticse
- 下一篇: windows server 2003安