最近接手了一個app任務,由於不懂android和ios,只想簡單點寫代碼,所以,最終采用了基於H5的web框架:ionic + cordova(也叫phonegap)來開發。app的設計中有一個掃描二維碼的功能,各種搜索之后,找到了一個cordova的插件,就是barcodescanner啦。代碼如圖:
可是不知道為什么,用安卓真機測試的時候,會打開兩次攝像頭(打開第一次,閃一下,又打開一次)。由於完全不熟悉這個框架的東西。百度、博客、官方文檔,翻了N久,始終沒找到解決的辦法。困擾了一天,最后使用了cordova的另外一個插件,叫“吐司”toast的,然后把代碼改成下邊這樣:
再測試,發現問題解決了。之所以會想到用“吐司”,是因為做測試的時候,因為總是調用兩次,所以懷疑該方法被調用了兩次,所以在進入方法的時候用了個alert,結果奇跡就這樣發生了,使用了alert之后,就沒有出現調用兩次攝像頭的情況,所以想到了先彈提示再調用的方法。
不過還是想知道為什么會有這樣的問題,有知道的朋友人,希望能給留個答案,謝謝。