关于Android微信支付回调不执行的问题
如果排除appid、包名等问题、那就是你文件目录的包名不对,比如说你项目的文件目录层级为
com/xxxxx/project
但是你的微信开放平台注册的报名为com.xxxxx.www,那么哪怕你applicationId是和微信开放平台一致的,微信回调也不会生肖,因为微信回调是根据包名来调用你的activity的。
微信回调会找你的com.xxxxx.www.wxapi.WXPayEntryActivity,然而,你目录和你的包名,并不一致,所以回调就无法正常被唤起。
解决方案:
1、将你的目录包名改成和开放平台一致的。
2、使用activity-alias 给你的回调activity创建别名,可以这样写
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="你的appid" />
</intent-filter>
</activity>
<activity-alias
android:name="${applicationId}.wxapi.WXPayEntryActivity"
android:exported="true"
android:targetActivity=".wxapi.WXPayEntryActivity" />