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