解决QQ分享没有收到【成功回调】的问题

来源:互联网 发布:传奇数据库安装 编辑:程序博客网 时间:2024/04/28 09:51

写在前面的话:一个做了两遍的QQ分享,再次做的时候,直接边拷贝边修改,运行后发现没问题。

但是:分享成功却收不到成功的回调。

解决办法:首先请点击这里,一个字一个字的对照着看看自己那里跟文档写的不一样,重点看一下自己清单文件的那个schema,是不是按照tencent[appId]的格式写的。

展开讲讲开发步骤

只要按照官方文档一点点的写,还真得都没有问题,出问题了,大都是自己大眼一看,木有问题啊,这该死的SDK,也不报错,也不给我回调……

  1. 我的开发环境是把分享这个模块放到一个module里面,没有放在主module,也是没有问题的。
  2. 文档链接有一部分内容比较老,文档中说如果要接收成功回调,需要按文档要求重写onActivityResult方法,但实际上一旦执行了onActivityResult方法,那个 Intent data 基本上就是null 了,也就是流程出错了,集成步骤有误需要修改。正常流程时只会调用传入的UIListener。

下面再补充几个前人留下的注意事项,自己对照着看吧(点击查看原文)
1.刚开始点击分享老是没反应,后来才发现Qzone分享必须设置缩略图才行

Tencent tencent = Tencent.createInstance("你的appId", mActivity);Bundle params = new Bundle();params.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL, url);params.putString(QzoneShare.SHARE_TO_QQ_APP_NAME, "我是应用程序名称");params.putString("title", "我是标题");params.putString("summary", text);ArrayList<String> images = new ArrayList<String>();images.add(thumbPath);params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL, images);tencent.shareToQzone(mActivity, params, new IUiListener());// 刚开始点击分享老是没反应,后来才发现Qzone分享必须设置缩略图才行

2.刚开始老是缩略图显示不了,原来QQ分享有本地图片和在线图片之分,一定要只选其一

Tencent tencent = Tencent.createInstance("appId", mActivity);Bundle params = new Bundle();params.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL, url);params.putString(QzoneShare.SHARE_TO_QQ_APP_NAME, "我是应用程序名称");params.putString("title", "我是标题");params.putString("summary", 我是简介);params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, thumbPath);tencent.shareToQQ(mActivity, params, new IUiListener());// 刚开始老是缩略图显示不了,原来QQ分享有本地图片和在线图片之分,一定要只选其一
  1. 刚开始发现,onComplete、onCancell、onError这三个方法没一个被调用了
public void onActivityResult(int requestCode, int resultCode, Intent data) {//      Tencent.onActivityResultData(requestCode, resultCode, data, mUiListener);        if(requestCode == Constants.REQUEST_QQ_SHARE || requestCode == Constants.REQUEST_QZONE_SHARE){            if (resultCode == Constants.ACTIVITY_OK) {                Tencent.handleResultData(data, mUiListener);            }        }    }// 刚开始发现,onComplete、onCancell、onError这三个方法没一个被调用了,也就导致没有办法统计分享成功比率// 微博分享就不需要在onActivity中去触发WeiboAuthListener的方法调用

再强调一次,上述第三点我是不同意的,一但走到了onActivityResult方法,就代表不会走分享成功的回调了。

还有个一个给出混淆建议的哥们(点击查看原文)

  1. 混淆配置如下
-keep class com.tencent.open.TDialog$*-keep class com.tencent.open.TDialog$* {*;}-keep class com.tencent.open.PKDialog-keep class com.tencent.open.PKDialog {*;}-keep class com.tencent.open.PKDialog$*-keep class com.tencent.open.PKDialog$* {*;}

如果还有问题,那就再找个哥们帮你对照着官方文档一个字符一个字符的找答案吧,相信你一定可以的,只是时间问题。
祝好。

0 0
原创粉丝点击