上面说到webview方式登录QQ的集成,现在开始客户端登录的集成.首先还是下载客户端的SDK和DEMO,

示例代码如下:

首先清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest package="test.example.com.mapp"xmlns:android="http://schemas.android.com/apk/res/android"><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- SDK2.1新增获取用户位置信息 --><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.GET_TASKS"/><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity><activityandroid: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" /><!-- 100380359 100381104 222222 --></intent-filter></activity><activityandroid:name="com.tencent.connect.common.AssistActivity"android:screenOrientation="behind"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="orientation|keyboardHidden"></activity></application></manifest>

注意, AssistActivity只有在运行代码后,才会在logcat中提示错误信息,告诉需要另外配置该activity

Mainactivity代码

public class MainActivity extends AppCompatActivity implements IUiListener {private static Tencent mTencent;private String mAppid = "1105667444";private TextView mUserInfo;private ImageView mUserLogo;private UserInfo mInfo;public static void initOpenidAndToken(JSONObject jsonObject) {String token = jsonObject.optString(Constants.PARAM_ACCESS_TOKEN);String expires = jsonObject.optString(Constants.PARAM_EXPIRES_IN);String openId = jsonObject.optString(Constants.PARAM_OPEN_ID);if (!TextUtils.isEmpty(token) && !TextUtils.isEmpty(expires) && !TextUtils.isEmpty(openId)) {mTencent.setAccessToken(token, expires);mTencent.setOpenId(openId);}}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化mTencentinit();}private void init() {mTencent = Tencent.createInstance(mAppid, this);}public void login(View view) {mTencent.login(this, "all", this);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == Constants.REQUEST_LOGIN || requestCode == Constants.REQUEST_APPBAR) {//处理返回的结果Tencent.onActivityResultData(requestCode, resultCode, data, this);}super.onActivityResult(requestCode, resultCode, data);}@Overridepublic void onComplete(Object response) {showToast("登录成功");JSONObject json = (JSONObject) response;//通过返回的数据,获得openid和tokeninitOpenidAndToken(json);//获取用户信息updateUserInfo();}private void updateUserInfo() {if (mTencent != null && mTencent.isSessionValid()) {mInfo = new UserInfo(this, mTencent.getQQToken());//获取用户信息mInfo.getUserInfo(listener);}else {mUserInfo.setText("");mUserInfo.setVisibility(android.view.View.GONE);mUserLogo.setVisibility(android.view.View.GONE);}}private IUiListener listener = new IUiListener() {@Overridepublic void onComplete(Object response) {//成功获取的回调.在这里乐意获取用户的头像,昵称等信息showToast(response.toString());}@Overridepublic void onError(UiError uiError) {}@Overridepublic void onCancel() {}};public void showToast(String s) {Toast.makeText(this, s, Toast.LENGTH_SHORT).show();}@Overridepublic void onError(UiError uiError) {showToast("登录失败");}@Overridepublic void onCancel() {showToast("取消登陆");}}

第三方登录之QQ登录集成(二)相关推荐

  1. dedecms织梦第三方登录插件-QQ登录、微博登录、微信登录

    织梦程序集成第三方QQ登录.微博登录.微信登录,获取QQ.微博.微信,并存储至数据库,一键注册为网站会员,不用再次填写绑定信息,方便粘贴用户更强. 织梦第三方登录效果 第三方登录插件特点 1.所有文件 ...

  2. 网站如何接入第三方登录,微信登录和QQ登录:注册认证篇

    第三方登录平台接入 (QQ\微信登录) QQ登录接入 第一步成为QQ应用开发者,审核期限七天 一.所需材料 1.公司注册相关信息 2.营业执照扫描件 微信登录接入 第一步成为微信开发平台开发者,认证费 ...

  3. flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录

    flutter在IOS上的登录实现--QQ登录.微信登录.自动识别手机号一键登录.apple登录 一.QQ登录 使用的第三方库: 具体操作方法: 1.配置 Universal Links 2.QQ互联 ...

  4. 美多商城项目之用户登录:账号登录、QQ登录

    一.账号登录 1.1 用户名登录 1. 用户名登录逻辑分析 2. 用户名登录接口设计 1.请求方式 选项 方案 请求方法 POST 请求地址 /login/ 2.请求参数:表单 参数名 类型 是否必传 ...

  5. uniapp实现微信登录或者QQ登录

    uniapp实现微信登录或者QQ登录 无论是哪种登录, 都要用到uni.login 一. 获取服务供应商 在实现登录前,先查看一下可以使用哪种方式登录. 在APP平台, 可用的服务商, 是打包环境中配 ...

  6. 商城项目---day04---账号登录和QQ登录

    一:用户名登录和用户名展示: # 用户名登陆接口实现 class LoginView(View):def post(self, request):data = json.loads(request.b ...

  7. PHP 接入(第三方登录)QQ 登录 OAuth2.0 过程中遇到的坑

    前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验.最近看了看 QQ 互联上 QQ 登录的接口文档.接入 QQ 登录的一般流程是这样的:先申请开发者 -> 然后创建应用(拿到一 ...

  8. 第三方登录(QQ登录)开发流程详解

    一.准备工作 接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权. 申请appid和appkey的用途 appid :应用的唯一标 ...

  9. iOS 第三方登录之 QQ登录

    一. 首先需要下载腾讯qq登录所需的库,下载地址是http://open.qq.com/ . 需要用到的有TencentOpenAPI.framework 和TencentOpenApi_IOS_Bu ...

最新文章

  1. F-Strings:超级好用的Python格式字符串!!
  2. OpenGL创建hello Window窗口
  3. Shell(12)——awk(2)
  4. git仓库删除文件夹/文件
  5. word activex部件不能创建对象_如何用Word批量制作员工工作证?1分钟搞定1000份!只需三步...
  6. 同宿舍的程序员毕业五年之女生篇:有人怀疑人生,有人考虑出家
  7. Java描述设计模式(14):解释器模式
  8. Android第十四期 - 可扩展选项卡
  9. 测试驱动javascript开发 -- 3.测试驱动开发过程(上)
  10. MATLAB几何均值滤波
  11. COMMUNITY DETECTION
  12. 联想启天M4880(老机)安装Centos7安装总结
  13. 北大青鸟python学费_北大青鸟学费贵吗,北大青鸟学费标准_北大青鸟综合校区为您解答...
  14. 007 JVM堆内存划分
  15. 汉语是世界上唯一一种面向对象的高级语言【转】
  16. 2020及2021年常被利用的30个软件漏洞
  17. CAD教程:CAD联动模式的使用技巧
  18. vue项目的导出功能
  19. python 爬取天猫店铺商品评论
  20. 联系人列表字母排序索引(一)

热门文章

  1. python 输入与输出函数 IPO模式 200307
  2. SQL Server关于AlwaysOn的理解
  3. GE CimplicityV11.1安装步骤
  4. 我的世界服务器头像文件,端游我的世界怎么换头像,端游我的世界怎么换头像框...
  5. TopCoder Arena 插件配置(1)Greed 2.0
  6. 大数据开发,想写代码不给我写,到底是人性的扭曲,还是道德的沦丧?
  7. 使用Proxmox搭建私有云平台
  8. Unity Run Time Gizmos
  9. 哈罗python的学费多少-数据分析面试题总结
  10. 小灰 “生二胎” 啦!