QQ、新浪微博、微信第三方分享的坑

从事应用开发两年多快三年了,还是在应用层上有这么多坑(给自己个拥ba抱zhang)。

写分享的时候都是比较简单的吧,跟着文档写就好了(除了微信),但是当你分享完之后想要知道状态的时候这时候就要扎耳挠腮了,这里就说一下坑吧。

新浪微博的分享回调

调用回调的activity要去继承这个IWeiboHandler.Response接口(啪啪啪,敲黑板:必须要是activity继承这个接口,随便新建一个类继承是不行的必须要是activity,原因嘛,为微博去,我也不知道),然后还需要在:

@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

if(mChatroomShareLogic!=null){

IWeiboShareAPI weiboApi = mChatroomShareLogic.getWeiboAPI();

if(weiboApi!=null){

weiboApi.handleWeiboResponse(intent, this);

}

}

}这个方法里面告诉一下activity微博我要用你回调了,然后就是在初始化使用微博api的时候也要设置一下回调了:

mWeiboShareAPI.handleWeiboResponse(intent, response);这个response就是实现了IWeiboHandler.Response接口的activity这个稀疏平常。

QQ分享的回调

发送分享的时候:mTencent.shareToQQ(mActivity, params,qqShareListener);回调肯定就是那个listener了,但是就只是这么写一个新类继承其他东西都不做就想要让QQ大人来调用你,那你就还是TOO yuang too simple了。肯定还有隐形的机关要去触发了,那就是:

@Override

protected void onActivityResult,要在activity的这个方法里面“激活”一下告诉QQ大爷,大爷我需要回调,你给我通通气呗,于是就需要在这个方法里面加上:

if(requestCode == Constants.REQUEST_QQ_SHARE || requestCode == Constants.REQUEST_QZONE_SHARE){

Tencent tencent = mChatroomShareLogic.getTencent();

 if(tencent!= null)

  tencent.onActivityResult(requestCode, resultCode, data);

  tencent.handleResultData(data, mChatroomShareLogic.qqShareListener);

}

QQ大爷看你可怜,于是就会给你回调了。

微信分享的回调:

微信的文档相信大家和我一样,心中总会会:有一句妈卖批想和他细细述说,但是啊需求还是要写的,分享出去的代码啊签名啊啥的我就不说了(真的比较烦躁开发微信第三方),直接说一下回调吧。主要有三个步骤吧:

一:在你的应用的包名的(也就是你的manifest<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.****.***.activity"package的文件夹)文件夹下新建一个wxapi文件夹;

二:在这个文件夹里头新建一个WXEntryActivity.java的文件(敲黑板划重点,这个一定要是一模一样的固定的名字);

三: 继承Activity实现IWXAPIEventHandler接口,这样就可以了:WXEntryActivityextends Activity implements IWXAPIEventHandler然后实现接口的方法就可以接收到回调了。

注意:微信分享的图片不能太大,要是太大的话是不会调用到分享的界面的,更不用提回调了。官方建议好像是32KB,所以使用图片分享的时候需要注意一下。


我也搞不明白这些个第三方都那么麻烦干啥,跟android的设计原理都是不一样的,控件直接触发有个回调接口不就行了吗?为什么回调的东西这么麻烦,而且麻烦的是文档更新一次之后写法就可以完全不一样了,所以我说的方法也是近期可以用,以后就不知道了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值