`
xsuo
  • 浏览: 123451 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Gtalk登陆

阅读更多
import com.google.android.gtalkservice.IGTalkService;

import com.google.android.gtalkservice.IGTalkSession;

import com.google.android.gtalkservice.Presence;

import android.view.View;

import android.app.Activity;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.content.ServiceConnection;

import android.os.Bundle;

import android.os.DeadObjectException;

import android.os.IBinder;

import android.provider.Im;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;



public class GtalkActivity extends Activity implements View.OnClickListener {

    private EditText login_User = null;

    private EditText login_Pwd = null;

    

    private IGTalkSession mGtalkSession = null;

    

    private Button Btn_Login = null;

    private Button Btn_Exit = null;

    

    @Override

    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);

        setContentView(R.layout.main);

        

        //EditText: account,password

        login_User = (EditText)this.findViewById(R.id.login_et_user);

        login_Pwd = (EditText)this.findViewById(R.id.login_et_pwd);

        

        //Button: login,exit

        Btn_Login = (Button)this.findViewById(R.id.btn_login);

        Btn_Exit = (Button)this.findViewById(R.id.btn_exit);

        

        Btn_Login.setOnClickListener(this);

        Btn_Exit.setOnClickListener(this);

    }

    

    //display message on screen 

    private void logMessage(CharSequence msg) {

		 Toast.makeText(GtalkActivity.this,msg,

				        Toast.LENGTH_SHORT).show();

		

	}

    

    

    //service connection

    private ServiceConnection mConnection = new ServiceConnection(){

		public void onServiceConnected(ComponentName className, IBinder service) {

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

			  try {

				//enter account,password  

				mGtalkSession = xmppservice.createGTalkSession(login_User.getText().toString(),login_Pwd.getText().toString());

                if(mGtalkSession == null){

                	logMessage(getText(R.string.xmpp_session_not_found));

                    return;

                	

                }

                if(mGtalkSession != null){

                	boolean b = false;

                	try {

        				b = mGtalkSession.isConnected();

        			} catch (DeadObjectException ex) {

        				logMessage("***Check Current State meets Error! Exception->" + ex);

        			}

                	if(b){

                		//connection state

                		switch(mGtalkSession.getConnectionState()){

                			case 4: // login successfully

                				logMessage("successfully logged in to the XMPP server!");

                				mGtalkSession.setPresence(new Presence(Im.PresenceColumns.AVAILABLE, "Am here now!"));

                			    break;

                			case 5:

                				logMessage("the client requested roster from the server.");

                		        break;

                			case 0: // network problem

                				logMessage("***ConnectionState.IDLE -> not connected!");

        						break;	

                				

                			case 2: // connecting....

                				logMessage("connecting to the server.");

        						break;



        					case 3:

        						logMessage("connected to the server, but not authenticated yet.");

        						break;

        						

        					case 1:

        						logMessage("in a pending state for automatic reconnection.");

        						break;

                			

        					default:

                				logMessage("Unknown ConnectionState!");

        						break;

                		}

                	}

                }

                

			} catch (DeadObjectException e) {

				// TODO Auto-generated catch block

				e.printStackTrace();

			}

		}



		

         //service disconnected

		public void onServiceDisconnected(ComponentName componentname) {

			mGtalkSession = null;

		}

    	

    };

	     //tow buttons bindservice/unbindservice 

        public void onClick(View view) {

        	if(view == Btn_Login){

			   bindService((new Intent()).setComponent(com.google.android.gtalkservice.GTalkServiceConstants.GTALK_SERVICE_COMPONENT), 

			   		     mConnection,Context.BIND_AUTO_CREATE);

		   }

		   if(view == Btn_Exit){   

			   unbindService(mConnection);

			   logMessage("ServiceDisconnected");

			   

		   }

	    }	 

}
分享到:
评论

相关推荐

    gtalk样式自定义方法

    在探讨“gtalk样式自定义方法”的过程中,我们首先需要理解GTalk,即Google Talk,是谷歌曾经推出的一款即时通讯软件,它不仅提供了文本聊天、语音通话等功能,还允许用户自定义界面样式,以满足个性化需求。...

    GTalk 绿色单文件版

    GTalk 绿色单文件版

    android Gtalk.apk

    Google Talk(Gtalk)是Google公司开发的即时通讯工具,Gtalk除了具备一般IM功能外,还加上了Viop功能,Gtalk界面清晰大方,可直接链接Gmail,轻松接受邮件。欢迎下载最新版google talk。

    ch25_gtalk.rar_android_ch25_gtalk_gtalk_gtalk andro

    《Android平台上的GTalk应用开发解析》 在移动通信领域,Android系统以其开源、灵活的特点深受开发者喜爱。其中,Google Talk(简称GTalk)作为一款即时通讯应用,曾是Android设备上重要的通信工具。本章节将围绕...

    gtalk.apk-android

    gtalk.apk-android

    Gtalk C# 开发

    本文将深入探讨“Gtalk C# 开发”这一主题,以帮助你理解如何利用C#来构建一个GTalk客户端,并探索可能的高级功能开发。 GTalk(Google Talk)是Google推出的一款即时通讯服务,它提供了文字聊天、语音通话和视频...

    Gtalk_1.3.apk

    Gtalk_1.3.apk

    asp.net获取MSN、Gtalk好友列表例子

    在本示例中,我们将探讨如何使用ASP.NET来获取MSN(Microsoft Messenger)和GTalk(Google Talk)的好友列表,以便在你的应用中实现朋友邀请功能。 首先,我们需要理解MSN和GTalk的协议。MSN使用微软的实时通信...

    和gtalk一样的聊天工具

    标题中的“和gtalk一样的聊天工具”指的是寻找与Google Talk(简称gtalk)类似功能的即时通讯软件。Google Talk是一款由Google推出的即时通讯服务,它允许用户进行文字聊天、语音通话,并与其他Google服务(如Gmail...

    安卓gtalk安装文件

    android4.0以上,给没有装google服务包的人。

    华为C8500 (gtalk)google_talk apk android 2.1平台

    难得资源,gtalk是google聊天工具,挂着几乎没有流量,发消息与接消息占多少用多少流浪,飞信比QQ省流量,精简飞信比飞信省流量,gtalk比精简飞信还省流量。挂着用吧。热爱网络,珍惜收藏

    GTalk英文版,可以进行文件传输

    google聊天工具,GTalk英文版,可以进行文件传输,聊天信息进行了加密

    vb.net Gtalk机器人

    【VB.NET GTalk机器人】是一种基于Google Talk(简称GTalk)协议开发的自动化程序,它允许开发者通过VB.NET编程语言创建一个能够与GTalk用户进行交互的机器人。这个机器人不仅能够自动发送预设的消息给指定的好友,...

    黑莓上的gtalk+gmail邮件提醒工具:testa

    黑莓上的gtalk+gmail邮件提醒工具:testa。 相应速度非常快,第一时间告知您有新的gmail邮件了。

    gtalk接口二次开发告警平台

    标题中的“gtalk接口二次开发告警平台”指的是基于Google Talk (gtalk) 的API进行的二次开发项目,主要用于创建一个告警系统。这个系统能够通过gtalk接口发送通知,以便在特定事件或异常发生时及时提醒用户。下面将...

    完美解决android电子市场不能下载,Gtalk、Gmail不能正常使用

    完美解决android电子市场不能下载,Gtalk、Gmail不能正常使用……弄法见内部操作指南

    gtalk 说明资料

    《GTalk:基于XMPP协议的即时通讯解析》 GTalk,全称为Google Talk,是谷歌公司在2005年推出的即时通讯工具,它基于eXtensible Messaging and Presence Protocol(XMPP)协议,也被称为Jabber协议,是IETF(互联网...

    btalk软件(很好用的gtalk)

    【BTalk软件——高效便捷的GTalk替代工具】 BTalk是一款专为用户打造的Google Talk(简称GTalk)替代软件,它以其轻巧的体积、高效的性能和节省流量的特点赢得了用户的喜爱。在GTalk逐渐退出历史舞台后,BTalk成为...

    java Gtalk机器人

    Java GTalk机器人是一种使用Java编程语言开发的程序,它能够与Google Talk(简称Gtalk)聊天服务进行交互,实现自动化消息发送、接收以及各种自定义功能。Gtalk机器人通常是通过Google的Jabber协议实现的,这是一个...

Global site tag (gtag.js) - Google Analytics