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