解决:接入微信支付,调不起回调界面WXPayEntryActivity

最近开发公司SDK需要接入微信支付功能,于是上了微信开发者平台,下载微信的SDK,按着文档接入。当我进行微信支付,需要调起微信客户端,但是却没有。而微信回调WXPayEntryActivity也没有被回调起来。

这就很奇怪了,看回文档,说要把WXPayEntryActivity放到wxapi包下,而且在Manifest的路径配置还必须是

<activity android:name=".wxapi.WXPayEntryActivity" android:exported="true"></activity>

但是我把以上的要求都配置好了。还是调不起来WXPayEntryActivity,而且还报了classNotFound的异常

在看看我的项目配置


如果仔细看项目的报错的话,你就可以发现问题了。因为我是在SDK里面接入的微信支付,却在demo里面调用微信支付和在Manifest文件配置路径。这就导致了微信SDK找不到了WXPayEntryActivity,因为WXPayEntryActivity的路径根本不是这个,可以看到下图

要怎么修改呢?我们可以根据报错提示,把包名改一下,改为下图:


你看路径是不是和提示的一样了!这时候再运行一下项目



微信的回调界面成功出来了。而返回-1的错误码是因为,我的包名和签名都与微信后台配置不一样。只需改一下就好了。最后总结一下解决方法:

1.看一下你的回调WXPayEntryActivity界面是否按照放到对应的wxapi包名下了

2.看下是否在Manifest文件里按照配置了对应的路径。因为微信回调是要根据这个路径找的回调界面,如果这个路径配置一个都不能错

3.如果上面两步都做了还是回调不起来,可以参考我上面的方法,修改一下包名

问题到这里就完美解决了,遇到问题不要怂,学会冷静分析,同时告诉自己电脑不会骗人的。我是一名android工程师,我为自己加油!

猜你喜欢

转载自blog.csdn.net/ruan_number3/article/details/80000646