关于zxing生成二维码,在微信长按识别不了问题

      在做校园学生到校情况签到系统时,我采用了zxing作为二维码生成工具。在测试的时候使用微信打开连接发现。我长按我的二维码之后,总是不会出现以下这种识别二维码的选项。

  

这就大大的降低了用户的体验,只能大家对着扫或者用电脑打开签到连接。这是绝对要解决的问题。

开始这个问题一会有一会没有,我就犯了糊涂。时有时无的问题太头疼了吧。

我这个明明是生产的jpg是个图片,为什么识别不了。

这时想到是不是这个二维码识别率低?让微信发现不了他是个二维码?因为我的二维码是定时刷新,被扫描后也会刷新的,所以它的识别率时而高时而低,时而被微信识别时而不识别。

这时我问了下百度,发现zxing提高识别率是可以调高它的容错等级的。

代码如下:

		Map<EncodeHintType, Object> qrParams = new HashMap<>();
		// 编码
		qrParams.put(EncodeHintType.CHARACTER_SET, "UTF-8");
		// 纠错等级
		qrParams.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
		// 边框
		qrParams.put(EncodeHintType.MARGIN, 0);

  以前纠错等级是L现在是H,意思代表Low或High吧可能。现在完美解决了二维码识别率低,不能被长按识别的问题。哦耶✌️

 

posted @ 2018-04-08 17:58  ZzUuOo666  阅读(3698)  评论(0编辑  收藏  举报