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第三方授权登录 申请过程不介绍了,申请者资料,个人也是可以申请成功的. 这时候有二个参 ...
随机推荐
- SCOI2016滚粗记
day0 又到了SCOI,照惯例赛前参加省选培训,住酒店但学校食堂很难吃. 省选培训被成七和南山的大爷虐翻,感觉进省队没什么戏,权当玩一玩吧. day1 早上醒的时候感觉脑袋很痛,想睡又睡不着,第二天 ...
- C++的辅助工具介绍
1 文档类 (1) Doxygen 参考站点:http://www.doxygen.org Doxygen是一种适合C风格语言(如C++.C.IDL.Java甚至包括C#和PHP)的.开放源码的 ...
- 80端口被NT kernel & System 占用pid 4
前段时间停止了Apache,结果在打开的时候发现无法打开,80端口被占用,于是win+r 运行cmd 输入netstat -ano 可以看到80端口被PID4占用,于是打开任务管理器-进程-查看,选择 ...
- RT-Thread学习笔记(2)
这段时间稍微折腾了一下stm32,稍微知道了一点stm32程序的编写方法,所以再次拿起了rtt,因为这个东西确实很强大. 随手记录一下rtt的一些知识: 1.关于finsh 这是一个命令行系统,很好玩 ...
- C# 创建移动应用
打开VS2013 选择ASP.NET MVC4Web应用程序,点击[确定] 选择[移动应用程序]点击[确定],运行之后显示的效果如图
- Codeforces Gym 100610 Problem A. Alien Communication Masterclass 构造
Problem A. Alien Communication Masterclass Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codefo ...
- S5PV210开发系列四_uCGUI的移植
S5PV210开发系列四 uCGUI的移植 象棋小子 1048272975 GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是能够通过窗体.菜单 ...
- Android多媒体数据库之MediaStore研究
应网友要求,今天给大家讲android的多媒体数据库.MediaStore这个类是android系统提供的一个多媒体数据库,android 中多媒体信息都可以从这里提取.这个MediaStore包括了 ...
- do {...} while (0) in macros
If you are a C programmer, you must be familiar with macros. They are powerful and can help you ease ...
- i = i++;
在这里jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区.语句istore_1是将堆栈中的值弹出存入相应的变量区(赋值):语句iload_1是将变量区中的值暂存如堆栈中. ...