Android第三方授权(QQ篇)
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篇)的更多相关文章
- Android第三方授权(新浪微博篇)
Android第三方认证新浪微博,相对微信,也比较简单,并且sina给了一个sdk和sdkdemo,这个demo封装了许多,但是自己不准备记录这个demo,而是直接使用sdk 同样去sina官方下载s ...
- Android 第三方授权(微信篇)
0.申请开发者: https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN 1.下载sdk包: https://o ...
- android 第三方登录 --- QQ
1,jar包 2,配置AndroidManifest.xml <activity android:name=".login.LoginActivity" android:co ...
- 安卓Android第三方登录-QQ登录
要实现QQ第三方登录,其实只需要一个封装类:QQLoginManager 几乎 三行代码 就实现QQ登录功能 这里先给出Github开源项目地址,项目下有详细的使用说明 下面就开始详细说一说怎么实 ...
- Android第三方登陆之新浪微博Weibo篇(原生登陆授权)
前言 Android第三方登录可以说是非常的常见,今天主要先说一下新浪微博第三方登陆授权. SDK版本支持 SDK v3.0已经发布了支持iPhone和Android的版本. 须将你的应用的包名签名信 ...
- 【转】【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字 ...
- 【Android应用开发详解】实现第三方授权登录、分享以及获取用户资料
由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo.实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相 ...
- QQ第三方授权登录OAuth2.0实现(Java)
准备材料 1.已经备案好的域名 2.服务器(域名和服务器为统一主体或域名已接入服务器) 3.QQ号 4.开发流程:https://wiki.connect.qq.com/%E5%87%86%E5%A4 ...
- .NET Core+QQ第三方授权登录
安装包 dotnet add package AspNet.Security.OAuth.QQ 接上文GitHub第三方授权登录 申请过程不介绍了,申请者资料,个人也是可以申请成功的. 这时候有二个参 ...
随机推荐
- 如何更改c#项目的App.config文件
动态修改App.Config 和web.Config 首先假设你的应用程序配置文件如下: <?xml version="1.0" encoding="utf-8&q ...
- IOS6 字体高亮显示
ios6之前在一个字符串中如果也让某个字体高亮或者特殊显示(如: 关注[ ]),需要用单独一个的标签进行显示,或者利用CoreText进行字体绘绘制,非常麻烦: 现在IOS6 中TextView,la ...
- 使用charles 抓包
1.保证手机和Mac连接的是同一个无线局域网 2.在Mac上打开Charles Proxy,菜单栏操作:Proxy→Proxy Setting,检查端口,一般保持默认,HTTP Proxy端口为888 ...
- 使用synchronize同步关键字来同步代码快
1.synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有 ...
- 解决ccSvcHst.exe CPU占用超50%的问题,及其缘由
无意中发现任务管理器中一个非常奇特的进程,迅速吃掉了我50%的cpu资源,并且是持续性的,于是上google一番查找,终于有了新的发现. 非常多问答产品所有都是清一色的 错误解决方式: 正常情况下,系 ...
- TC SRM 664 div2 B BearPlaysDiv2 bfs
BearPlaysDiv2 Problem Statement Limak is a little bear who loves to play. Today he is playing by ...
- Delphi 7连接MySql 5.5.15
原文:http://blog.csdn.net/akof1314/article/details/6822902/ 网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的 ...
- HoloGraphLibrary
https://github.com/Androguide/HoloGraphLibrary HoloGraphLibrary-master.zip
- cc代码学习笔记1
#define #define INT32 int #define INT8 char #define CHAR char #define SSHORT signed short #define IN ...
- /proc/sys/net/ipv4/下各项的意义
/proc/sys/net/ipv4/icmp_timeexceed_rate这个在traceroute时导致著名的“Solaris middle star”.这个文件控制发送ICMP Tim ...