最近在做項目的時候遇到了一個問題,規(guī)則流程是如下,首先需要掃描條形碼獲取條形碼號,然后將條形碼號傳遞給第三方交來的視圖中進(jìn)行索引查詢,將查詢結(jié)果附在當(dāng)前APP中。
項目中使用的是FNScanner模塊,模塊可以采用兩種方式進(jìn)行調(diào)用,一種是直接調(diào)用 openScanner 接口,打開自帶默認(rèn) UI 效果的二維碼/條形碼掃描頁面,另一種是通過 openView 接口打開一個自定義大小的掃描區(qū)域進(jìn)行掃描。意思就是可以從何另一個界面打開,這個界面可以自定義,從而實現(xiàn)自定義掃描界面的功能。然后在配合使用 setFrame、closeView、switchLight 等方法來實現(xiàn)開關(guān)閃光燈、重設(shè)掃描界面位置大小、圖片解碼、字符串編碼等相關(guān)功能。
從上面的介紹上來看第一種方法更為簡單,不需要設(shè)定界面樣式,直接調(diào)用模塊的界面即可使用,也具備開關(guān)閃光燈,相冊讀取條形碼,攝像頭掃描條形碼的功能。第二種使用起來相對比較復(fù)雜一些,但是可以根據(jù)自己的喜好更改樣式,即自由發(fā)揮空間更多,所做出的的掃碼界面也更符合當(dāng)前APP的使用情況,當(dāng)然這只是其中一部分的優(yōu)勢。
針對第二種使用方法如果細(xì)心的話還可以發(fā)現(xiàn)可以自定義的內(nèi)容比較多,最直接有效的就是interval的參數(shù),可以自定義連續(xù)掃碼間隔,我們這次項目中就遇到了條形碼打印不清楚的情況,就需要將interval設(shè)置為最小1,可以快速的重新在次掃碼解決識別率低的問題。
上面這個條碼豎條的地方印刷不夠清晰,在掃碼的時候經(jīng)常出現(xiàn)掃碼失敗的情況,針對這種條碼我們固定掃描框的大小,將條碼完整放置在我們設(shè)定的寬度和高度中,并且將interval時間設(shè)置為最小1,為方便識別還可以設(shè)置下對焦寬度條,二維碼在邊框內(nèi)占據(jù)至少80%以上,識別速度極快(這還是同事神棍子發(fā)現(xiàn)的這一規(guī)律)。
以上就是FNScanner的使用方法和使用的注意事項,希望在APP開發(fā)中能夠起到作用,也歡迎在開發(fā)中遇到問題的朋友一起相互交流和學(xué)習(xí)。