申请APPID进入QQ互联的官网 在管理中心中创建移动应用。创建完成后,可以得到APPID。并在下方的协作者测试号中,填写控应用测试用的QQ号码。导入Jar包将下载得到的Jar包导入工程,并在AndroidManifest.xml文件中进行注册。 <activity android:name="com.tencent.tauth.AuthActivity" android:noHistory="true" android:launchMode="singleTask" ><intent-filter> <action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent100546930" /> </intent-filter></activity>其中,<data android:scheme="tencent100546930" />中的数字需要替换成自己申请得到的APPID。创建登录接口所有的SDK接口调用,都会传入一个回调,用以接收SDK返回的调用结果。回调的主要接口有两种:(1) IUiListener:调用SDK已经封装好的接口时,例如:登录、快速支付登录、应用分享、应用邀请等接口。(2) IRequestListener:使用requestAsync、request等通用方法调用sdk未封装的接口时,例如上传图片、查看相册等。在这里创建IUiListener接口实现相应的登录授权操作: private void onClickLogin() { if (!mTencent.isSessionValid()) { IUiListener listener = new IUiListener() { /** 授权失败的回调*/@Overridepublic void onError(UiError arg0) {// TODO Auto-generated method stubToast.makeText(LoginActivity.this, "授权失败", 1000).show();Message msg = new Message();msg.arg1 = 2;handler.sendMessage(msg); }/** 授权成功的回调*/@Overridepublic void onComplete(JSONObject arg0) {// TODO Auto-generated method stubToast.makeText(LoginActivity.this, "授权成功", 1000).show();Message msg = new Message();msg.what = 2;msg.arg1 = 1;msg.obj = arg0;handler.sendMessage(msg);}/** 取消授权的回调*/@Overridepublic void onCancel() {// TODO Auto-generated method stubToast.makeText(LoginActivity.this, "取消授权", 1000).show();Message msg = new Message();msg.arg1 = 3;handler.sendMessage(msg); }}; mTencent.login(this, SCOPE, listener); } else { mTencent.logout(this); } }其中,mTencent为QQSDK主要实现类Tencent类的实例。// Tencent类是SDK的主要实现类,开发者可通过Tencent类访问腾讯开放的OpenAPI。// 其中APP_ID是分配给第三方应用的appid,类型为String。mTencent = Tencent.createInstance(APP_ID, this.getApplicationContext());将handler进行实例化handler = new Handler(this);并将类实现Callback接口,即可对上述类进行Handler的处理操作。@Overridepublic boolean handleMessage(Message msg) {// TODO Auto-generated method stubswitch (msg.arg1) {case 1: { // 成功JSONObject object = (JSONObject) msg.obj;try {openid = object.getString("openid").toString();sBuilder.append("openid为:"+openid+"\n");access_token = object.getString("access_token").toString();url = url + "?access_token="+access_token+"&oauth_consumer_key="+APP_ID+"&openid="+openid+"&format=json";new MyUrlThread(url.toString(), 2,sHandler).start();} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}}break;case 2: { // 失败Toast.makeText(this, "", Toast.LENGTH_SHORT).show();return false;}case 3: { // 取消Toast.makeText(this, "", Toast.LENGTH_SHORT).show();return false;}}return false;}如果授权成功,即可得到返回的Openid。从而,可以根据Openid调用腾讯所提供的官方接口,实现需要的操作。