android 第三方登录 --- QQ
1,jar包
2,配置AndroidManifest.xml
1 <activity android:name=".login.LoginActivity" 2 android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"> 3 <intent-filter> 4 <action android:name="android.intent.action.MAIN"/> 5 <category android:name="android.intent.category.LAUNCHER"/> 6 </intent-filter> 7 </activity> 8 <activity 9 android:name="com.tencent.tauth.AuthActivity" 10 android:launchMode="singleTask" 11 android:noHistory="true" > 12 <intent-filter> 13 <action android:name="android.intent.action.VIEW" /> 14 <category android:name="android.intent.category.DEFAULT" /> 15 <category android:name="android.intent.category.BROWSABLE" /> 16 <data android:scheme="tencent222222" /> 17 <!-- 将222222换成自己的appid --> 18 </intent-filter> 19 </activity> 20 21 <activity 22 android:name="com.tencent.connect.common.AssistActivity" 23 android:configChanges="orientation|keyboardHidden" 24 android:screenOrientation="behind" 25 android:theme="@android:style/Theme.Translucent.NoTitleBar" />
3,LoginActivity调用
1 //222222换成自己的appid 2 Tencent mTencent = Tencent.createInstance("222222", this.getApplicationContext()); 3 //all获取全部 4 mTencent.login(this, "all", new IUiListener() { 5 @Override 6 public void onComplete(Object o) { 7 Log.i("返回",o.toString()); 8 } 9 @Override 10 public void onError(UiError uiError) { 11 } 12 @Override 13 public void onCancel() { 14 } 15 }); 16 //注销 17 //mTencent.logout(this);
4,回调
1 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 2 if (requestCode == Constants.REQUEST_LOGIN){ 3 if(resultCode == Constants.ACTIVITY_OK){ 4 Log.i("onActivityResult",data.getStringExtra("key_action")); 5 //如果少了这句,监听器的没效果。onComplete不会执行 6 Tencent.handleResultData(data,loginListener); 7 } 8 } 9 super.onActivityResult(requestCode, resultCode, data); 10 }
5,以上是授权获取openid。下边就是获取授权用户的基本信息了。授权成功后将onComplete(Object o)返回的数据设置到mTencent里
1 try { 2 String token = object.getString(Constants.PARAM_ACCESS_TOKEN); 3 String expires = object.getString(Constants.PARAM_EXPIRES_IN); 4 String openId = object.getString(Constants.PARAM_OPEN_ID); 5 //设置token 6 mTencent.setAccessToken(token, expires); 7 //设置openid 8 mTencent.setOpenId(openId); 9 } catch (JSONException e) { 10 e.printStackTrace(); 11 }
6,拿到当前授权QQ号的昵称,头像之类的基本信息
1 UserInfo userInfo = new UserInfo(this,mTencent.getQQToken()); 2 //和上边授权的一样 3 userInfo.getUserInfo(new IUiListener(){...});
转载于:https://www.cnblogs.com/Jieth/p/5160373.html
android 第三方登录 --- QQ相关推荐
- Android 第三方登录 QQ提示需要最新版问题的解决办法
问题: android 12 的手机上QQ是最新的.在使用app调用QQ的第三方登录时提示需要更新版本. 解决: targetSdkVersion版本30及以上的需要在AndroidManifest中 ...
- Android第三方登录——QQ
一.首先需要在官网上面注册开发者账号:https://connect.qq.com/index.html 二.创建应用,这里有一个需要注意的东西,创建应用是需要一个应用名称,应该是应用名称被别人用过了 ...
- Android第三方登录详解2
接着Android第三方登录详解1讲 1.找到友盟 文档中心 2.找到 3.将 UMSocialService mController = UMServiceFactory.getUMSocialS ...
- Springboot网站第三方登录——QQ登录
Springboot网站第三方登录--QQ登录 这段时间为了做这几个第三方登录,走了很多弯路,跳了很多坑,为以后使用特地记录下来. 由于做了多个登录,所以代码做了一定程度的封装,大致如下: //多个登 ...
- Facebook android 第三方登录
Facebook android 第三方登录 android平台使用Facebook账号登录自己的app - 前期准备 - 注册Facebook开发者账号,添加自己的应用,按照官方文档的指引完成需要的 ...
- CAS单点登录-第三方登录[QQ、微信、CSDN、GitHub](十四)
CAS单点登录-第三方登录[QQ.微信.CSDN.GitHub](十四) 注: 目前博文使用cas版本为5.1.5,由于5.2.x与5.1.x构建模式有差异,所以部分配置会有些偏差. 本章内容 简答介 ...
- 第三方登录QQ申请步骤
第三方登录QQ: 提供需要的APP ID 和 APP KEY 1.1 进入QQ开发者平台: https://open.qq.com/reg 1.2 个人注册需要信息:身份证,手持身份证照片.手机号码. ...
- 苹果cms第三方登录QQ互联正确回调设置方法
QQ互联进行注册认证:https://connect.qq.com 登陆qq后点击头像申请开发者完善资料后提交审核. 域名填写你的网站域名 回调地址正确填写:http://域名/index.php/u ...
- 试用友盟SDK实现Android第三方登录(以QQ登录为例)
虽然自己在日常工作中用不到第三方登录,但是它的重要性无可厚非. 废话不多说,接下来跟着步骤走,轻松集成第三方登陆. 一,在友盟注册应用 注册好友盟账户后,在http://www.umeng.com/s ...
最新文章
- TCP通过滑动窗口和拥塞窗口实现限流,能抵御ddos攻击吗
- 扶贫干部拍胸脯认证,AI开发者上手零门槛,百度打造 “云智一体”全栈开发杀手锏...
- js 原生跨页面通信_DOM操作是跨线程的你知道吗?
- 基因组重复序列检测:RepeatMasker
- 设计模式总结篇系列:适配器模式(Adapter)
- 实践心得:从读论文到复现到为开源贡献代码
- Failed to install DroidIPCam.apk on device 'emulator-5554': timeout
- Decorator Pattern - C# 3.0 Design Patterns
- POJ1390 Blocks——动态规划——pku1390
- 前端学习(3084):vue+element今日头条管理-表单数据绑定2
- bigdicmal除法精度设置_java中BigDecimal进行加减乘除的基本用法
- NGUI_2.6.3_系列教程三
- Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)
- CentOS下安装svn,添加新用户,重启svn服务
- 【C/C++笔记】之显式调用DLL、隐式调用DLL、查看DLL输出函数
- 2021年PMP考试模拟题2(含答案)
- 网上打印店可以急速打印东西吗?
- Tableau基础图表制作
- 中国房价不可能下降的19个理由
- 相机上的这个自定义功能太好用了