下面是我制作微信支付时遇到的一些问题,如果你也遇到了这些问题,可以参考我的解决方案。
问题一: 在调用微信支付的api.sendReq(req);函数时遇到“Failed to find provider info forcom.tencent.mm.sdk.plugin.provider”错误,导致app无法调出微信支付界面。
解决方法:出现这个问题的原因是微信支付需要手机安装微信才能完成,所以在手机上安装微信就可以解决该问题了。
问题二:支付完成以后没有调用回调界面。
解决方法:出现这个问题的时候我在网上搜索了很多解决方案,例如WXPayEntryActivity类需要放在你的包名对应的wxapi包下等。但是这些方法都试过了以后,我发现我的程序完成微信支付后还是无法调用回调界面,最后通过对比微信支付官方的demo中的manifest.xml文件,我发现我的WXPayEntryActivity没有添加android:exported=“true”属性,android:exported表示当前Activity是否可以被另一个Application的组件启动,true为允许被启动,false为不允许被启动。在manifest.xml中为WXPayEntryActivity添加android:exported=“true”属性问题就解决了。