友盟分享 微信分享没有回调信息

微信分享没有回调信息

问题:分享成功,取消,失败没有提示信息

不知道现在还有没有用友盟微信分享遇到问题的,如果有,希望这里的内容能帮到你。

其实友盟官网已经说得很清楚了, 只不过我很多人有时候直接baidu,查不到解决办法,而且有些解决办法是比较老版本的分享sdk,并不适用新的sdk。

现在最新版的sdk 6.2.0分享的微信,qq回调是没问题的,一般都是我们配置上出错导致分享回调不生效。

友盟分享官网报错必看

这里写图片描述

接下来对官网说明进行详解:

4.2 微信授权或分享之后没有回调

1.你可以调用 UmengTool.checkWx(this)检查是否配置成功 **(随便写在一个activity中进行查看)**

2.检查微信回调WXEntryActivity是否是在包名路径下,例如你的包名是com.a.b,那么这个activity应该放在com.a.b.wxapi文件夹下

这里得注意下, 正常下情况下,建立项目的时候, 一般java目录下的包名和uild.gradle文件中的 applicationId "com.a.b"都是一致的,所以我们在集成分享sdk 把wxapi复制到com.a.b下是可以正常回调的。

但是当你发现回调不成功的时候,需要去检查一下这几个地方,
1.java目录的包名是否和applicationId中一致。一致就将wxapi复制到该包路径下
2.java目录的包名是否和applicationId中不一致。就在java包下建立一个和applicationId一致的包名,再将wxapi复制到该包路径下。



为什么要去检查? build.gradle文件中的 applicationId "com.a.b",但其实有时候有些项目 java目录下的包名并不和我们applicationId名字一样。

这里写图片描述

3.由于您加了支付的相关功能,在WXEntryActivity中写入了你们自己的逻辑,而把我们的逻辑覆盖了,导致不能回调,如下代码所示即可

public class WXEntryActivity extends WXCallbackActivity {
@Override
public void onResp(BaseResp resp) { 


    if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
        switch (resp.errCode) {
            case 0:
                Toast.makeText(this, "支付成功!", Toast.LENGTH_LONG).show();
                break;
            case -2:
                Toast.makeText(this,"支付取消!",Toast.LENGTH_LONG).show();
                break;
            case -1:
                Toast.makeText(this,"支付失败!",Toast.LENGTH_LONG).show();
                break;
            default:
                Toast.makeText(this,"支付出错!",Toast.LENGTH_LONG).show();
                break;
        }
    } else {
        //这里的意思就是如果不是微信支付, 就继续走原来的逻辑,那就是给super处理
        super.onResp(resp);//一定要加super,实现我们的方法,否则不能回调
    }
}

}

本片博客只介绍了这一点,如有其它sdk使用上的问题,详细参照友盟官网文档。

猜你喜欢

转载自blog.csdn.net/hzx929518714/article/details/53957195