1,jar包

2,配置AndroidManifest.xml

 <activity android:name=".login.LoginActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<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="tencent222222" />
<!-- 将222222换成自己的appid -->
</intent-filter>
</activity> <activity
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="behind"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

3,LoginActivity调用

 //222222换成自己的appid
Tencent mTencent = Tencent.createInstance("222222", this.getApplicationContext());
//all获取全部
mTencent.login(this, "all", new IUiListener() {
@Override
public void onComplete(Object o) {
Log.i("返回",o.toString());
}
@Override
public void onError(UiError uiError) {
}
@Override
public void onCancel() {
}
});
//注销
//mTencent.logout(this);

4,回调

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Constants.REQUEST_LOGIN){
if(resultCode == Constants.ACTIVITY_OK){
Log.i("onActivityResult",data.getStringExtra("key_action"));
//如果少了这句,监听器的没效果。onComplete不会执行
Tencent.handleResultData(data,loginListener);
}
}
super.onActivityResult(requestCode, resultCode, data);
}

5,以上是授权获取openid。下边就是获取授权用户的基本信息了。授权成功后将onComplete(Object o)返回的数据设置到mTencent里

 try {
String token = object.getString(Constants.PARAM_ACCESS_TOKEN);
String expires = object.getString(Constants.PARAM_EXPIRES_IN);
String openId = object.getString(Constants.PARAM_OPEN_ID);
//设置token
mTencent.setAccessToken(token, expires);
//设置openid
mTencent.setOpenId(openId);
} catch (JSONException e) {
e.printStackTrace();
}

6,拿到当前授权QQ号的昵称,头像之类的基本信息

 UserInfo userInfo = new UserInfo(this,mTencent.getQQToken());
//和上边授权的一样
userInfo.getUserInfo(new IUiListener(){...});

android 第三方登录 --- QQ的更多相关文章

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

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

  2. 第三方登录 QQ登录 人人网登录 新浪微博登录

    http://www.pp6.cn/Index.aspx http://www.pp6.cn/Login.aspx 网站有自己的账号系统,这里使用的第三方登录仅仅是获取第三方账号的唯一id,昵称,性别 ...

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

    学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博文分享!

  4. 第三方登录 QQ 错误码100044(提示 该应用非官方正版应用)

    当你碰到这个问题的时候,不要着急,你的功能已经走通了,代码没有问题. 100044 原因: 1.首先确定你的包名和签名,跟申请第三方平台的是一个.(真心吐槽一下,接盘侠不好当,尤其是没有交接的) 2. ...

  5. iOS开发之第三方登录QQ -- 史上最全最新第三方登录QQ方式实现

    项目地址 :  https://github.com/zhonggaorong/QQLoginDemo/tree/master 最新版本的qq登录实现步骤实现: 1. 首先,你需要去向腾讯申请账号. ...

  6. android 第三方登录---新浪微博

    1.AndroidManiFest.xml设置,这里我只是简单的用授权,获取基本信息,所以只用了这一个 <!--微博--> <!-- 必须注册在微博授权,分享微博时候用到 --> ...

  7. PHP第三方登录——QQ登录

    主要内容 简单回顾OAuth协议基本原理 接入QQ登录的前置条件以及开放平台账号申请 引入官方SDK SDK参数配置 SDK核心方法解读 整合QQ登录SDK到Web应用中 SDK优化 调用API的开发 ...

  8. Android第三方授权(QQ篇)

    QQ授权比微信授权相对来说会方便一些 同样需要去官网下载sdk和导入sdk到自己的工程 http://wiki.connect.qq.com/%E7%A7%BB%E5%8A%A8%E5%BA%94%E ...

  9. iOS第三方登录qq

    http://blog.sina.com.cn/s/blog_7b9d64af0101e5vj.html

随机推荐

  1. css实现了hover显示title的效果

    <div data-title="hello, world">hello...</div> <style> div { position: re ...

  2. delphi 取cpu号

    从网上找的取cpu号 在d7中测试通过了 push,move,pop ...有点难 现在的水平我也就只能拿来主义了 /// <summary>/// 取cpu号/// </summa ...

  3. 教你一招:在PowerPoint中自定义可输入文本的占位符

    日常生活中,当我们设计多媒体课件时,默认的版式其实已经够用了.但是,很多时候,我们需要更加个性一点,所以,我们需要自定义很多东西.本文介绍在PowerPoint中自定义可输入文本的占位符. 一.占位符 ...

  4. BZOJ 3223: Tyvj 1729 文艺平衡树

    3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3628  Solved: 2052[Submit][Sta ...

  5. Gulp和Webpack工具的区别

    引用知乎的回答:https://www.zhihu.com/question/37020798 怎么解释呢?因为 Gulp 和 browserify / webpack 不是一回事 Gulp应该和Gr ...

  6. miniui前台无法显示数据

    坑爹,刚开始使用miniui重写对账单的功能,显示数据的时候明明已经获取到json数据了,但前台还是显示不出来,找了一上午的原因,终于找到是因为前台显示字段的field值要改成和json中(数据库字段 ...

  7. Java面试之SpringMVC总结以及在面试中的一些问题.

    1.简单的谈一下SpringMVC的工作流程? 流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理 ...

  8. <<< 数据库基础知识

    相关概念: 1.数据 (DATA) : 数据是描述现实世界事物的符号标记, 是指用物理符号记录下来的可以鉴别的信息. 包括:数字.文字.图形.声音.及其他特殊符号 2.数据库(DATABASE) :按 ...

  9. Linux ext3 ext4 区别

    Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4. Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只 ...

  10. 学习Javascript

    分别归类为: javascript变量 javascript运算符 javascript数组 javascript流程语句 javascript字符串函数 javascript函数基础 javascr ...