QQ授权比微信授权相对来说会方便一些

同样需要去官网下载sdk和导入sdk到自己的工程

http://wiki.connect.qq.com/%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5%E6%A6%82%E8%BF%B0

1.初始化sdk,并且调起QQ客户端

Tencent mTencent = Tencent.createInstance(Constants.mQQAppid, context);
mTencent.login(activity, "all", new LoginUiListener()); private static class LoginUiListener implements IUiListener {
@Override
public void onComplete(Object response) {
if (response != null) {
Log.i(TAG, response.toString());
JSONObject jsonData = JSON.parseObject(response.toString());
openId = jsonData.getString("openid");
mQQToken = mTencent.getQQToken();
token = mQQToken.getAccessToken();
mUserInfo = new UserInfo(context, mQQToken);
mUserInfo.getUserInfo(new QQGetUserInfoListener());
} else {
Toast.makeText(context, "QQ登陆获取信息被取消", Toast.LENGTH_LONG)
.show();
} } @Override
public void onError(UiError e) {
Toast.makeText(context, "QQ登陆获取信息错误: " + e.errorMessage,
Toast.LENGTH_LONG).show();
} @Override
public void onCancel() {
Toast.makeText(context, "QQ登陆获取信息被取消", Toast.LENGTH_LONG).show();
}
}
private static class QQGetUserInfoListener implements IUiListener { @Override
public void onComplete(final Object response) {
// TODO Auto-generated method stub
// Toast.makeText(context, "QQ登陆获取信息成功", Toast.LENGTH_LONG).show();
new Thread(new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
Log.i(TAG, response.toString());
JSONObject jsonData = JSON.parseObject(response.toString());
//jsonData就保存了QQ用户个人信息 }
}).start();
} @Override
public void onError(UiError error) {
// TODO Auto-generated method stub
Log.e(TAG, error.errorDetail);
} @Override
public void onCancel() {
// TODO Auto-generated method stub
Toast.makeText(context, "QQ登陆获取信息被取消", Toast.LENGTH_LONG).show();
} }

要注意一点,QQ授权是帮我们封装的最好的了,我们不需要自己去调用网络,但是要注意QQ授权的回调都是在UI线程中执行的,所以如果需要在回调中访问自己的服务器,要注意另开线程,以免卡住UI

Android第三方授权(QQ篇)的更多相关文章

  1. Android第三方授权(新浪微博篇)

    Android第三方认证新浪微博,相对微信,也比较简单,并且sina给了一个sdk和sdkdemo,这个demo封装了许多,但是自己不准备记录这个demo,而是直接使用sdk 同样去sina官方下载s ...

  2. Android 第三方授权(微信篇)

    0.申请开发者: https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN 1.下载sdk包: https://o ...

  3. android 第三方登录 --- QQ

    1,jar包 2,配置AndroidManifest.xml <activity android:name=".login.LoginActivity" android:co ...

  4. 安卓Android第三方登录-QQ登录

    要实现QQ第三方登录,其实只需要一个封装类:QQLoginManager 几乎 三行代码 就实现QQ登录功能 这里先给出Github开源项目地址,项目下有详细的使用说明   下面就开始详细说一说怎么实 ...

  5. Android第三方登陆之新浪微博Weibo篇(原生登陆授权)

    前言 Android第三方登录可以说是非常的常见,今天主要先说一下新浪微博第三方登陆授权. SDK版本支持 SDK v3.0已经发布了支持iPhone和Android的版本. 须将你的应用的包名签名信 ...

  6. 【转】【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字 ...

  7. 【Android应用开发详解】实现第三方授权登录、分享以及获取用户资料

      由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo.实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相 ...

  8. QQ第三方授权登录OAuth2.0实现(Java)

    准备材料 1.已经备案好的域名 2.服务器(域名和服务器为统一主体或域名已接入服务器) 3.QQ号 4.开发流程:https://wiki.connect.qq.com/%E5%87%86%E5%A4 ...

  9. .NET Core+QQ第三方授权登录

    安装包 dotnet add package AspNet.Security.OAuth.QQ 接上文GitHub第三方授权登录 申请过程不介绍了,申请者资料,个人也是可以申请成功的. 这时候有二个参 ...

随机推荐

  1. no datanode to stop

    昨晚整了半天,遇上的问题是通过start-all.sh无法启动datanode,然后关闭时就会报no datanode to stop ,引起这个的原因是因为我多次格式化,导致namespaceID不 ...

  2. jquery对象和javascript对象相互转换

    本文转载:http://jeiofw.blog.51cto.com/3319919/786506 jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuer ...

  3. Cocos2d-x——Cocos2d-x 屏幕适配总结

    本张图以iPhone5为例子,并且采用ResolutionNoBorder的绘制方式(这种方式就是会在原图的基础上出现裁切,一部分图片会显示到屏幕外边去,如AEHD和FBCG就是显示到屏幕外边的内容) ...

  4. 让table 居于页面的正中间(上下左右均居中的方法)

    ? <table bgcolor="#jnkc" width="300" height="200" style="posit ...

  5. 在Flash Builder或者Eclipse统计代码行数的方法

    在Flash  Builder或者Eclipse统计代码行数的方法如下图菜单栏--搜索--搜索文件

  6. iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明

    iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...

  7. Communications link failure报错的处理

    一.报错的问题: 测试环境在做压力测试的时候爆出错误 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications l ...

  8. android圆角View实现及不同版本这间的兼容(android3.0过后的版本)

    http://blog.csdn.net/lovecluo/article/details/8710174 在做我们自己的APP的时候,为了让APP看起来更加的好看,我们就需要将我们的自己的View做 ...

  9. 测试JS

    <html> <head> </head> <body> <script> function loadScript(url, callbac ...

  10. iOS开发——UI篇OC篇&layoutSubviews和drawRect

    layoutSubviews和drawRect     首先两个方法都是异步执行.layoutSubviews方便数据计算,drawRect方便视图重绘.   layoutSubviews在以下情况下 ...