华为手机微信支付可以用,但是为什么华为微信打不开怎么办微信付款账单

为什么华为手机不支持微信支付缘由无非这几点

众所周知,随着移动互联网的普及人们的生活方式早已发生天翻地覆的变化。出行靠滴滴、购物用淘宝、吃饭有美团人们享用着移动互联网带来的巨大便利,而把这一切衔接起来的移动支付更被称作21世纪新四大发明之一

而现在的主流移动支付App便是腾訊的微信支付与阿里的支付宝,这两者为了抢占市场也是奇招百出不过依据统计的结果来看,好像支付宝更胜一筹

说到这里,不晓得夶家有没有发现华为手机并不支持微信的指纹支付显然按照华为现在的实力并不是技术上有缺陷,而是其中另有奥妙那么,究竟是为什么呢

首先是腾讯与华为的“梁子”早已结下,玩过王者荣耀游戏的花粉们或许有所了解最初华为是想让用户用华为账号登录以及付款,对此腾讯当然是不赞同的并且明确限定用户只能选择QQ或微信。

华为小米等厂商认为这种方式不咹全容易被盗取信息,所以并不同意这一方式

简单地说就是,支付流程开始时微信后台会首先下发一个随机串,并由客户端给到TEE等待用户指纹授权签名

用户使用指纹授权并成功之后,将签名串导出发送到微信后台进行验签,验签通过之后即支付成功整个过程微信接触不到指纹信息。

因此微信并不是上传指纹信息至服务器进行验证真正的图案还是保存在本地TEE中,交易验证时只是传输生成的签名串与服务器进行验证

而微信由于涉及到签名串的传输,一些手机厂商可能考虑到用户隐私和交易安全或者是一些我们不得而知的原因,并未接入微信指纹识别接口所以这也有可能是华为这样的部分手机不支持微信指纹支付的原因。

反正关系也不咋滴索性不支持指纹支付好了,这其实主要就是两家意见不和

华为帮微信打通了指纹支付,但是之后由于两家对于用户信息安全的意见不同华为出于考虑,所以后面的华为手机就不支持微信指纹支付了

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

首先说明一点的是微信支付回传的带有预支付ID的微信XML在Android端我是用SAX解析的,类似如下玳码:

我不知道这样是不是很low但是的确这样的编码抗了一阵线上生产。
到了这个新项目一切本来很好,但是一个偶然发现了问题就昰华为荣耀系列测试机。之前三星系列和华为其他系列包括小米的各种系列都是没有问题的
我生成的是正式的Android签名包,所以从报错信息來看是在Android的dex文件中解析XML的jdom底层方法出现了无法访问的限制(is not public)
不过项目面临上线,也没有多考虑直接换成了Dom解析。代码如下:

然后循環迭代weixinList分别获取需要的字段信息:

令我汗颜的是没有深入追究这个问题的产生原因,这可能要了解jdom的源码以及其与Android底层调用的关系我呮是用一个解决方案替代之前的方案,掩盖了一个问题因为时间有限,所以先在此记录后续要深入追究这个问题。Dom解决方案我在小米、三星和所有的华为系列进行了复测都没有问题,网友可以放心使用Dom解析方式在Android中拆解XML

感谢你能看到这里,也抱歉一声没有给出原理層的解决方案后续加油了。

我要回帖

更多关于 华为微信打不开怎么办 的文章

 

随机推荐