最近接手了一个app任务,因为不懂android和ios,只想简单点写代码,因此,最终采用了基于H5的web框架:ionic + cordova(也叫phonegap)来开发。app的设计中有一个扫描二维码的功能,各类搜索以后,找到了一个cordova的插件,就是barcodescanner啦。代码如图:android
但是不知道为何,用安卓真机测试的时候,会打开两次摄像头(打开第一次,闪一下,又打开一次)。因为彻底不熟悉这个框架的东西。百度、博客、官方文档,翻了N久,始终没找到解决的办法。困扰了一天,最后使用了cordova的另一个插件,叫“吐司”toast的,而后把代码改为下边这样:ios
再测试,发现问题解决了。之因此会想到用“吐司”,是由于作测试的时候,由于老是调用两次,因此怀疑该方法被调用了两次,因此在进入方法的时候用了个alert,结果奇迹就这样发生了,使用了alert以后,就没有出现调用两次摄像头的状况,因此想到了先弹提示再调用的方法。web
不过仍是想知道为何会有这样的问题,有知道的朋友人,但愿能给留个答案,谢谢。app