android 登录qq接口开发,三方登录-QQ登录开发-Android(as版本)
腾讯开放平台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());
}
接下来就是直接登录、获取用户信息即可
登录
/**
* 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版本)相关推荐
- php拼多多登录下单接口,对接拼多多授权登录及店铺信息接口_tp5
1 //授权控制器 2 <?php3 namespace app\index\controller;4 usethink\Controller;5 usethink\Db;6 usethink\ ...
- 怎么去调需要登录的接口_遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定...
你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作..... 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 把这几招传授给你 让你以后从容应对 登录的常见方法无非是这两种 1. ...
- android支付宝支付接口申请,支付宝分享SDK接入指南—Android
支付宝分享入口 1. 申请你的AppID 请到支付宝开放平台应用登记页面进行登记,登记并选择移动应用进行设置后,将获得AppId,可立即用于开发.但应用登记完成后还需要提交审核,只有审核通过的应用 ...
- python绕过验证码登录_python接口自动化(十三)--cookie绕过验证码登录(详解)...
简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...
- 接口测试-如何测试需要登录的接口
1.swagger /'swægə/ 公司的swagger是利用浏览器打开的,可以直接在头部填写sessionId或者openId来进行模拟登录如下图: sessonId和openId还是需要 ...
- Unity3D调用Android提供的接口
需求:Android提供相关的接口,android只提供接口,没有相关的界面,android接口打包以jar包的形式供Unity3D调用 1.编写相关的android接口 在studio中新建工程,并 ...
- Android 项目必备(三十七)-->使用友盟集成 QQ、微信、微博等第三方分享与登录
文章目录 效果图 实战 最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的.为了统一使用友盟的全家桶,所以三方分享和登录也就选择了友盟. 效果图 实战 ...
- Android开发实现简单QQ登录页面
Android开发实现极为简单的QQ登录页面 设计一个简单QQ登录页面,无任何功能.然后打包安装到手机. 1.首先创建一个空白页面 2.打开样式设计的页面 在activity_main.xml中写入代 ...
- android布局管理器模仿qq登录效果,Android程序开发仿新版QQ锁屏下弹窗功能
新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能.经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意. 下面是实现过程. 1.使用Activity,而不是V ...
- Android中的友盟(微信、QQ、新浪)第三方登录分享
前言:我再这里只总结Android开发人员需要做的,其他的就去看开发文档吧,例如获取Appkey,就找你的领导要去吧. 一.准备工作 第一步:快速集成. 快速集成包含自动集成与手动集成两种方式,开发者 ...
最新文章
- javascript中实例方法与类方法的区别
- 字符编码的知识(二)
- mysql重置auto_increment字段
- ASP.NET MVC 4使用PagedList.Mvc分页
- Ubuntu Linux 18.10下面安装魔法门之英雄无敌3
- 妈妈别哭,我去了天堂[组图]【值得你去看,值得你去深思】
- java miglayout_Java - MigLayout设置边界
- 吴恩达机器学习课后作业深度解析(附答案)(ex2)
- mac上iphone4刷机与越狱(二)
- 毕业设计专用 完全开源 基于Java的房屋租赁管理系统
- sqlserver 触发器 mysql_SQLServer触发器实例
- SSH开发的物流管理系统
- 信创操作系统--统信UOS桌面版(软件管理:应用商店、包管理器)
- Win10编译和测试libModbus
- Http Headers各属性简介及常见安全攻击
- 嵌入式培训怎么学?嵌入式开发培训学什么内容
- android graphics,Android graphics值Bitmap
- 新手如何配置WordPress站点
- 模电_安规X电容_Y电容-区别与作用-20190507
- 轻松一刻:给你讲一个只有程序员才能听得懂得笑话