1. 程式人生 > >解決:接入微信支付,調不起回撥介面WXPayEntryActivity

解決:接入微信支付,調不起回撥介面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工程師,我為自己加油!