博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信支付签名配置正确,但返回-1,调不出支付界面(有的手机能调起,有的不能)...
阅读量:6161 次
发布时间:2019-06-21

本文共 798 字,大约阅读时间需要 2 分钟。

首先,我反复确认了三次以上,配置的签名没有问题,打包后的签名没有问题, request.checkArgs()返回true,然后——

同一个包,在测试机上有的手机能调出支付界面,有的不能,然而在调起支付失败的手机上,登录我的微信就可以调出,登录我同事的就不行。

最后发现的问题是:微信会对之前的调用生成缓存,如果你之前安的本来是debug(未签名)的包,那时候点击微信支付失败了,微信缓存下了这个状态,当你重新安装release(已签名)的包再调用时,会依然返回-1调起失败。这个问题我试过的是这样,甚至在我先安了release调起成功之后,卸载App,安装debug版,这时候的第一次点击也是可以唤起支付界面的。

so,解决办法是:

1.重启下手机或者清理下微信的缓存

如果不行,先表摔手机——>

2.清空微信数据

要还是不行——>

3.卸载重装微信

一般这样是OK了

当然了,得看具体情况,如果你试了我说这些依然不OK,那么你可以摔手机,但是不能骂人

 

 

顺便记录一下,微信支付成功后,回调界面关闭时会有一个闪屏(有的手机是没有的),这是因为WXPayEntryActivity本身是一个空白界面,finish时会有闪屏的效果,

解决这个问题只需要将WXPayEntryActivity变成透明:

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

这样视觉上就感受不到它的finish效果。

 

微信登录与微信分享同回调WXEntryAcitivity,区别是BaseResp.getType()返回值不同

BaseResp.getType() == 1;则为微信登陆,

BaseResp.getType() == 2;则为微信分享(之前好像是0)

转载于:https://www.cnblogs.com/Sharley/p/10790089.html

你可能感兴趣的文章
Subversion使用Redmine帐户验证简单应用、高级应用以及优化
查看>>
Javascript Ajax 异步请求
查看>>
DBCP连接池
查看>>
cannot run programing "db2"
查看>>
mysql做主从relay-log问题
查看>>
Docker镜像与容器命令
查看>>
批量删除oracle中以相同类型字母开头的表
查看>>
Java基础学习总结(4)——对象转型
查看>>
BZOJ3239Discrete Logging——BSGS
查看>>
SpringMVC权限管理
查看>>
spring 整合 redis 配置
查看>>
cacti分组发飞信模块开发
查看>>
浅析LUA中游戏脚本语言之魔兽世界
查看>>
飞翔的秘密
查看>>
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
活在当下
查看>>
每天进步一点----- MediaPlayer
查看>>
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>