關於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吧可能。現在完美解決了二維碼識別率低,不能被長按識別的問題。哦耶✌️

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM