安卓设备扫码器乱码不能解析——23年水文开篇

好久没更新博客了(差10天整整一年没更新),还是决定水一篇,毕竟23年了都。

之前有个自助设备项目,在安卓开发板上开发的,突然有一天有个商家门店反馈抖音团购不能核销,用户的团购码在设备扫码后报错获取二维码失败。该设备商家有好几台不过反馈就一台不能用(因为该系列自主设备升级过多次,使用的安卓开发板这些版本号可能也不太一样,所以只能慢慢通过钉钉沟通排查原因)。

问题表现:

1、门店有2台设备,有一台是完全好的核销团购没有任何问题,另一台核销美团团购没问题,但是核销抖音团购不行(这个抖音是我们后面新对接的,已经上线很长一段时间了,不清楚这门店为什么现在才反馈)

2、这两台设备的安卓核销程序都是最新版且版本号一样。另外这两台设备都可以读取会员二维码,就是其中一台抖音团购核销不了。

前期解决过程(算是失败告终):

1、直接后台捞取这台设备的接口日志,发现设备传递过来的扫码结果中含有乱码,初步判断是扫码到接口调用之间存在问题。

2、让门店更换另一个设备的二维码扫码器,结果还是同样存在问题,扫码器故障排除。

3、后来想到抖音的二维码解析后是个短网址跟美团这些纯数字的不一样,怀疑是团购不够清晰或者顾客手机显示有问题,就让门店把团购码截图后,把手机屏幕亮度调高并放大二维码来核销,结果还是不行。(因为这个我还专门研究了抖音团购码的二维码生成模式,容错率才15%,后来也把这个反馈给负责技术对接的抖音同学了。事实证明这个并没有解决问题,因为我把原始二维码解析出来后又使用容错更高的参数重新生成了二维码 在那台设备上也用不了)

4、让门店找了个备用的安卓板子替换上,然后重新初始化app参数后门店反馈可以使用了。到这里门店问题算是解决了,但是一直心里不痛快,感觉还是没有找到问题所在,就一个扫码不应该跟主板有关系吧?难道是这个故障主板对接收的非纯数字的字符串不太兼容?没办法手上有其他事就暂时没管了……

终于找到问题所在:

隔了没几天商家把故障主板寄送过来了,接到设备后立马让售后装在我们测试机上,结果完全一样不管怎么样抖音的二维码都是乱码传输的。可能也就是灵光一闪,我想会不会是系统语言或输入法的问题?联想到之前在一个windows客户端软件上遇到过因为输入法的问题导致读取付款码会多读取到换行空格或其他特殊符号。

立马结束前台安卓程序,进入安卓的系统设置,设置系统语言以及输入法,把能设置为英国英文的地方都设置了,终于ok了!故障原因居然是个这么简单的问题!当时忘记拍照,记得应该是系统语言里面添加了English,然后输入法设置里面的键盘语言也选择了English英国英语。(PS:当时也测试默认键盘设置为阿拉伯,扫码后又是另一种乱码)

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/android-qrcode-error4system-language/

赞赏

微信赞赏支付宝赞赏

php使用phpexcel或jpgraph插件导致无法正确输出的解决方法
jenkins-install-crontab
idea-java-springboot-jar-war-package