微信支付簽名配置正確,但返回-1,調不出支付界面(有的手機能調起,有的不能)

首先,我反覆確認了三次以上,配置的簽名沒有問題,打包後的簽名沒有問題, request.checkArgs()返回true,而後——android

同一個包,在測試機上有的手機能調出支付界面,有的不能,然而在調起支付失敗的手機上,登陸個人微信就能夠調出,登陸我同事的就不行。緩存

最後發現的問題是:微信會對以前的調用生成緩存,若是你以前安的原本是debug(未簽名)的包,那時候點擊微信支付失敗了,微信緩存下了這個狀態,當你從新安裝release(已簽名)的包再調用時,會依然返回-1調起失敗。這個問題我試過的是這樣,甚至在我先安了release調起成功以後,卸載App,安裝debug版,這時候的第一次點擊也是能夠喚起支付界面的。微信

so,解決辦法是:測試

1.重啓下手機或者清理下微信的緩存微信支付

若是不行,先表摔手機——>spa

2.清空微信數據debug

要仍是不行——>code

3.卸載重裝微信blog

通常這樣是OK了ci

固然了,得看具體狀況,若是你試了我說這些依然不OK,那麼你能夠摔手機,可是不能罵人

 

 

順便記錄一下,微信支付成功後,回調界面關閉時會有一個閃屏(有的手機是沒有的),這是由於WXPayEntryActivity自己是一個空白界面,finish時會有閃屏的效果,

解決這個問題只須要將WXPayEntryActivity變成透明:

android:theme="@android:style/Theme.Translucent"

這樣視覺上就感覺不到它的finish效果。

 

微信登陸與微信分享同回調WXEntryAcitivity,區別是BaseResp.getType()返回值不一樣

BaseResp.getType() == 1;則爲微信登錄,

BaseResp.getType() == 2;則爲微信分享(以前好像是0)

相關文章
相關標籤/搜索