腾讯开放平台API

一、导入jar文件

gradle配置:

compile files('libs/open_sdk_r5923_lite.jar')

二、 配置AndroidManifest

在应用的AndroidManifest.xml增加配置的节点下增加以下配置(注:不配置将会导致无法调用API);

SDK_V2.0引入了AssistActivity,开发者需在androidManifest.xml中注册。代码如下:

通过以上两个步骤,工程就已经配置完成了。接下来就可以在代码里使用QQ互联的SDK进行开发了。

三、创建实例并实现回调

建议在Application中配置全局的比较实用

public class MyApplication extendsApplication {

public static Tencent mTencent;

public static Tencent getmTencent() {

return mTencent;

}

public static void setmTencent(Tencent mTencent) {

SkyPineApplication.mTencent = mTencent;

}

@Override

public void onCreate() {

super.onCreate();

// Tencent类是SDK的主要实现类,开发者可通过Tencent类访问腾讯开放的OpenAPI。

// 其中APP_ID是分配给第三方应用的appid,类型为String。

mTencent = Tencent.createInstance(ConfigurationSettings.TENCENT_APP_ID, this.getApplicationContext());

}

接下来就是直接登录、获取用户信息即可

登录

/**

* qq

* scope 应用需要获得哪些API的权限,由“,”分隔。

* 例如:SCOPE = “get_user_info,add_t”;所有权限用“all”

*/

public static final String ACOPE_ALL = "all";

BaseUiListener listener;

public void login() {

listener = new BaseUiListener();

if (!mTencent.isSessionValid()) {

mTencent.login(this, ACOPE_ALL, listener);

}

}

登录回调

private class BaseUiListener implements IUiListener {

@Override

public void onComplete(Object value) {

Log.e(TAG, value.toString());

//{"ret":0,"openid":"1BD6DE05A2A48E3AFF3905766855C30C","access_token":"072A085194740A54A85EA555D3AFE7EB",

// "pay_token":"765794D8CB4DFE50B743E98A9BBFC239","expires_in":7776000,"pf":"desktop_m_qq-10000144-android-2002-",

// "pfkey":"20d22c7e64c46aa138b69b5ebe89511a","msg":"","login_cost":493,"query_authority_cost":118,"authority_cost":24924}

try {

JSONObject jsonObject = (JSONObject) value;

int ret = jsonObject.getInt("ret");

if (ret == 0) {

showMessage("login success");

//此处登录授权成功

String openId = jsonObject.getString(PARAM_OPEN_ID);

String access_token = jsonObject.getString(PARAM_ACCESS_TOKEN);

String expires = jsonObject.getString(PARAM_EXPIRES_IN);

mTencent.setOpenId(openId);

mTencent.setAccessToken(access_token, expires);

//获取用户信息

getUserInfo();

} else {

showMessage("login failed");

}

} catch (JSONException e) {

e.printStackTrace();

}

}

@Override

public void onError(UiError uiError) {

Log.e(TAG, uiError.errorMessage);

showMessage("falied");

}

@Override

public void onCancel() {

Log.e(TAG, "cancel");

showMessage("cancel");

}

}

用户信息

private void getUserInfo() {

UserInfo info = new UserInfo(LoginActivity.this, mTencent.getQQToken());

info.getUserInfo(new IUiListener() {

@Override

public void onComplete(Object value) {

JSONObject jsonObject = (JSONObject) value;

Log.e(TAG, jsonObject.toString());

}

@Override

public void onError(UiError uiError) {

Log.e(TAG, uiError.errorMessage);

}

@Override

public void onCancel() {

}

});

}

调用QQ注销接口

public void logout()

{

mTencent.logout(this);

}

特别注意

应用调用Andriod_SDK接口时,如果要成功接收到回调,需要在调用接口的Activity的onActivityResult方法中增加如下代码:

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

Tencent.onActivityResultData(requestCode,resultCode,data,listener);

}

其中onActivityResultData接口中的listener为当前调用的Activity所实现的相应回调UIListener。

android 登录qq接口开发,三方登录-QQ登录开发-Android(as版本)相关推荐

  1. php拼多多登录下单接口,对接拼多多授权登录及店铺信息接口_tp5

    1 //授权控制器 2 <?php3 namespace app\index\controller;4 usethink\Controller;5 usethink\Db;6 usethink\ ...

  2. 怎么去调需要登录的接口_遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定...

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作..... 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 把这几招传授给你 让你以后从容应对 登录的常见方法无非是这两种 1. ...

  3. android支付宝支付接口申请,支付宝分享SDK接入指南—Android

    支付宝分享入口 1.   申请你的AppID 请到支付宝开放平台应用登记页面进行登记,登记并选择移动应用进行设置后,将获得AppId,可立即用于开发.但应用登记完成后还需要提交审核,只有审核通过的应用 ...

  4. python绕过验证码登录_python接口自动化(十三)--cookie绕过验证码登录(详解)...

    简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...

  5. 接口测试-如何测试需要登录的接口

    1.swagger     /'swægə/ 公司的swagger是利用浏览器打开的,可以直接在头部填写sessionId或者openId来进行模拟登录如下图: sessonId和openId还是需要 ...

  6. Unity3D调用Android提供的接口

    需求:Android提供相关的接口,android只提供接口,没有相关的界面,android接口打包以jar包的形式供Unity3D调用 1.编写相关的android接口 在studio中新建工程,并 ...

  7. Android 项目必备(三十七)-->使用友盟集成 QQ、微信、微博等第三方分享与登录

    文章目录 效果图 实战 最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的.为了统一使用友盟的全家桶,所以三方分享和登录也就选择了友盟. 效果图 实战 ...

  8. Android开发实现简单QQ登录页面

    Android开发实现极为简单的QQ登录页面 设计一个简单QQ登录页面,无任何功能.然后打包安装到手机. 1.首先创建一个空白页面 2.打开样式设计的页面 在activity_main.xml中写入代 ...

  9. android布局管理器模仿qq登录效果,Android程序开发仿新版QQ锁屏下弹窗功能

    新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能.经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意. 下面是实现过程. 1.使用Activity,而不是V ...

  10. Android中的友盟(微信、QQ、新浪)第三方登录分享

    前言:我再这里只总结Android开发人员需要做的,其他的就去看开发文档吧,例如获取Appkey,就找你的领导要去吧. 一.准备工作 第一步:快速集成. 快速集成包含自动集成与手动集成两种方式,开发者 ...

最新文章

  1. javascript中实例方法与类方法的区别
  2. 字符编码的知识(二)
  3. mysql重置auto_increment字段
  4. ASP.NET MVC 4使用PagedList.Mvc分页
  5. Ubuntu Linux 18.10下面安装魔法门之英雄无敌3
  6. 妈妈别哭,我去了天堂[组图]【值得你去看,值得你去深思】
  7. java miglayout_Java - MigLayout设置边界
  8. 吴恩达机器学习课后作业深度解析(附答案)(ex2)
  9. mac上iphone4刷机与越狱(二)
  10. 毕业设计专用 完全开源 基于Java的房屋租赁管理系统
  11. sqlserver 触发器 mysql_SQLServer触发器实例
  12. SSH开发的物流管理系统
  13. 信创操作系统--统信UOS桌面版(软件管理:应用商店、包管理器)
  14. Win10编译和测试libModbus
  15. Http Headers各属性简介及常见安全攻击
  16. 嵌入式培训怎么学?嵌入式开发培训学什么内容
  17. android graphics,Android graphics值Bitmap
  18. 新手如何配置WordPress站点
  19. 模电_安规X电容_Y电容-区别与作用-20190507
  20. 轻松一刻:给你讲一个只有程序员才能听得懂得笑话

热门文章

  1. RK3288_Android7.1在HAL层audio音频通路小结
  2. 一个网卡设备配置两个不同网段的IP地址
  3. .nett Core之路由配置
  4. python 字符串 string模块导入及用法
  5. 设计模式(三) 工厂模式
  6. Ambari server:无法显示内存,CPU等使用率
  7. 仿原生app,native特效
  8. CSS定位规则之BFC
  9. H3C Private VLAN(私有vlan) 实验
  10. C++智能指针的实现与使用(详解)