首先第一句,腾讯公司的技术是狗屎中的狗屎,包括用到的微信sdk和qqsdk,封装sdk的人技术看透了。、
qq分享,官方给的代码,大部分还要加activtiy回调,这样写:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == Constants.REQUEST_API) {
if (resultCode == Constants.REQUEST_QQ_SHARE || resultCode == Constants.REQUEST_QZONE_SHARE || resultCode == Constants.REQUEST_OLD_SHARE) {
Tencent.handleResultData(data, new UIListener(shareBean, this));
}
}
这样写是不行的,需要这样写:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Tencent.onActivityResultData(requestCode, resultCode, data, new UIListener(shareBean, this) {
});
if (requestCode == Constants.REQUEST_API) {
if (resultCode == Constants.REQUEST_QQ_SHARE || resultCode == Constants.REQUEST_QZONE_SHARE || resultCode == Constants.REQUEST_OLD_SHARE) {
Tencent.handleResultData(data, new UIListener(shareBean, this));
}
}
调用回调的时候,在创建分享实体的时候,需要自定义一个UIListener,这个让人可以理解,为什么,在后面还要在activity回调里,还要加一个UIlistener,代码丑爆了。