QQ第三方登录的时候,显示非官方正版应用,报100044错误;
坑1:我们在QQ互联注册成功后需要设置包名和签名,签名是通过官方提供的工具生成的。注意一点:这里的签名是需要由打包签名之后APK生成,我们测试的时候是没有经过签名的,所以一般我们至少在这里需要添加两个签名:一个我们开发测试的APP直接通过官方工具生成的签名,另一个使我们APP经过我们自己的签名文件签名打包后通过官方提供的工具生成的签名;
 @Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.iv_login_qq://点击qq登录
onClickLogin();
break;
}
}

onClickLogin()方法:

private void onClickLogin() {
if (!mTencent.isSessionValid()) {
mTencent.login(this, "all", loginListener);
isServerSideLogin = false;
} else {
if (isServerSideLogin) { // Server-Side 模式的登陆, 先退出,再进行SSO登陆
mTencent.logout(this);
mTencent.login(this, "all", loginListener);
isServerSideLogin = false;
return;
}
mTencent.logout(this);
}

loginListener接口:

 IUiListener loginListener = new BaseUiListener() {
@Override
protected void doComplete(JSONObject values) {
Timestamp = SystemClock.elapsedRealtime() + "";
Log.d(TAG,
"AuthorSwitch_SDK:" + SystemClock.elapsedRealtime());
initOpenidAndToken(values);//获取登录返回信息token等
updateUserInfo();//异步更新保存用户信息
}
};
initOpenidAndToken()方法:
 public void initOpenidAndToken(JSONObject jsonObject) {
try {
token = jsonObject.getString(Constants.PARAM_ACCESS_TOKEN);
expires = jsonObject.getString(Constants.PARAM_EXPIRES_IN);
openId_qq = jsonObject.getString(Constants.PARAM_OPEN_ID);
Log.d(TAG, "initOpenidAndToken: token:" + token);
Log.d(TAG, "initOpenidAndToken: expires:" + expires);
Log.d(TAG, "initOpenidAndToken: openId:" + openId_qq);
if (!TextUtils.isEmpty(token) && !TextUtils.isEmpty(expires)
&& !TextUtils.isEmpty(openId_qq)) {
mTencent.setAccessToken(token, expires);
mTencent.setOpenId(openId_qq);
}
} catch (Exception e) {
}
}

updateUserInfo()方法:

private void updateUserInfo() {
if (mTencent != null && mTencent.isSessionValid()) {
IUiListener listener = new IUiListener() { @Override
public void onError(UiError e) {
Log.d(TAG, "onError: ");
} @Override
public void onComplete(final Object response) {
new Thread() { @Override
public void run() {
JSONObject json = (JSONObject) response;if (json.has("figureurl")) {
try {
String userName = json.getString("nickname");
Log.d(TAG, "run: " + userName);
String userIcon = json.getString("figureurl_qq_2");
Log.d(TAG, "run: " + userIcon);
String gender = json.getString("gender");
String province = json.getString("province");
String city = json.getString("city");
SharedPreferences user_login = LoginActivity.this.getSharedPreferences("user_login", MODE_PRIVATE);
SharedPreferences.Editor edit = user_login.edit();
edit.putString("user_name", userName);
edit.putString("user_pic", userIcon);
edit.putString("gender", gender);
edit.putString("province", province);
edit.putString("city", city);
edit.putString("openid_qq", openId_qq);
edit.commit();
mHandler.sendEmptyMessage(POST_LOGIN_INIFO);
} catch (JSONException e) { }
}
} }.start();
} @Override
public void onCancel() {
Log.d(TAG, "onCancel: ");
}
};
mInfo = new UserInfo(this, mTencent.getQQToken());
mInfo.getUserInfo(listener); } else {
// mUserInfo.setText("");
// mUserInfo.setVisibility(android.view.View.GONE);
// mUserLogo.setVisibility(android.view.View.GONE);
}
}

必须重写onActivityResult()方法

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "-->onActivityResult:requestCode= " + requestCode + " resultCode="
+ resultCode);
if (requestCode == Constants.REQUEST_LOGIN
|| requestCode == Constants.REQUEST_APPBAR) {
Tencent.onActivityResultData(requestCode, resultCode, data,
loginListener);
AppShared.setUserLogin(this, true);
ToastUtils.toast("登录成功");
}
super.onActivityResult(requestCode, resultCode, data);
}
 一个建议:用户头像建议保存用户头像链接后再直接保存bitmap,在onResume中下载Bitmap图片,这样即使你设置了清楚缓存,在返回给页面时也会重新去获取用户头像

QQ互联登录以及非官方正版应用报100044错误的更多相关文章

  1. QQ互联登录回调路径错误redirect uri is illegal(100010)

    QQ互联登录设置的路径设置

  2. Win7执行应用报CLR20r3错误处理记录

    Windows7环境下运行应用报"CLR20r3"错误,错误信息如下: 问题详细信息: 问题签名: 问题事件名称: CLR20r3 问题签名 : qbbtools.exe 问题签名 ...

  3. QQ互联登录提示redirect uri is illegal(100010)完美解决方法

    大概2015年3月低,腾讯QQ互联开发平台调整了有关QQ登录应用回调地址填写规则,用来修复QQ登录过程因回调地址的漏洞可能导致存在的安全问题. 博主接触这块较多,但也是四月才了解此事,从4月起,所有新 ...

  4. 使用QQ互联登录应用

    QQ登录集成插件简介 互联网应用越来越多,通常每一个应用都会要求用户注册登录,粗略估记一下,QQ,微博,微信,银行帐号.邮箱,招聘网站账户,淘宝帐号,支付宝帐号,公司OA帐号....粗略算一下,十几个 ...

  5. QQ互联登录 微博登录问题

    qq 需要用开放平台的扣扣测试 审核通过后 开放所有用户 微博 出现获取token  个人信息失败  需要在微博里添加测试账号  审核通过后 开放所有用户

  6. Discuz3.1登录QQ互联显示redirect uri is illegal(100010)的解决

    QQ互联最近也是BUG不断,引起了很多用户的不满,从早前关闭群组功能,到发布2.0接口标准,引发系列站长用户的连锁反应.而Discuz从X3开始,为了应对QQ互联的2.0接口标准,采用了云平台来整合Q ...

  7. QQ互联开发-01-开发者注册和网站应用申请

    首先需要申请网站应用 要想使用QQ互联,首先需要先注册一个开发者账号,使用QQ号码可以注册,注册后,就可以创建网站应用了: 通过下面地址:https://connect.qq.com/,我们去登录QQ ...

  8. QQ互联登陆出现(1054) Unknown column “conuintoken” in “field list”

    在dz论坛中打开了QQ互联登录功能之后提示(1054) Unknown column conuintoken in field list 错误 我们看到sql 错误就是说没有conuintoken字了 ...

  9. 对163k地方门户网站系统QQ互联功能修改

    163k地方门户网站QQ互联申请时遇到的问题: "禁止开发商强制用户重新注册或绑定其他帐号" 原因是用户登录完QQ还需要注册帐号或者绑定原有帐号 163k地方门户网站的QQ互联登录 ...

随机推荐

  1. 基于AngularJs的上传控件-angular-file-upload

    今天跟大家分享的是一个依赖于angular的上传控件. 前段时间做项目遇到一个需求是上传文件,大概需要实现的样式是这样子的,见下图: 需要同时上传两个文件.并且规定文件格式和文件大小.因为前端框架使用 ...

  2. 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送

    1.腾讯QQ邮箱的授权码问题 因为腾讯邮箱折腾了个底朝天,其要搞什么授权码登录第三方客户端,否则会报这个错误: 'Error: 请使用授权码登录.详情请看: http://service.mail.q ...

  3. subline text3 使用总结

    安装:http://www.sublimetext.com/3 插件扩展:  安装package control组件 按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入 ...

  4. Entity Framework 6 Recipes 2nd Edition(13-1)译 -> 优化TPT继承模型的查询

    问题 你想提高在一个TPT继承模型里的查询 解决方案 让我们假设有一个简单的TPT继承模型,如图Figure 13-1 Figure 13-1. A simple Table per Type inh ...

  5. AKKA 笔记 - 有限状态机 -2

    AKKA 笔记 - 有限状态机 -2 原文地址: http://rerun.me/2016/05/22/akka-notes-finite-state-machines-2/ 在上一节的Akka FS ...

  6. Vue2.0用components替换render报错

    怀疑是webpack配置的问题,改了一下午也没弄好.去群里问了一轮,也没个解决的. 在研究的过程中,发现了一篇好的讨论帖,看这个帖子能学到不少东西.暂时放弃这个问题的研究了,太费时间,要深入学习编译原 ...

  7. [转]Fiddler抓取Android真机上的HTTPS包

    此篇文章转载自:http://blog.csdn.net/roland_sun/article/details/30078353 工作中经常会需要对一些app进行抓包, 但是每次默认都是只抓http请 ...

  8. 苹果手机Safari无痕浏览模式下系统登录成功但是页面不跳转

    昨天下午,测试提了一个bug,问题是:在苹果手机Safari无痕浏览模式下系统登录成功但是页面不跳转. 思前想后找了半天没思路,后来经过同事的点拨,说可能是禁用了cookie之类的,反正我也没思路就顺 ...

  9. 【.NET深呼吸】动态类型(扩充篇)

    前面两文中,老周已向大家介绍了关于动态类型对象的两种级别的使用方案,本篇呢,老周再讲一个自定义动态类型的例子. 前面给大家演示的例子中,动态类型中包装的是字典类型来存储数据的,这一次咱们换一种风味,老 ...

  10. jQuery源码分析系列

    声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://git ...