我们有一个Cordova应用程序,专用于Android设备,它使用条形码扫描器插件。应用程序本身作为对设备的重写到默认的Android后退按钮准备:Android上的科尔多瓦条码扫描器 - 取消扫描并返回到应用程序
document.addEventListener("backbutton", onBackKeyDown, false);
的问题是,当用户通过按下返回按钮来取消扫描,照相机关闭,该应用显示web视图,和然后启动“backbutton”事件(即调用onBackKeyDown函数)。就好像后退按钮是在webview本身上按下的,而不是在扫描活动上。 我们已经尝试一些替代品,例如 - 在开始扫描之前,删除事件监听器:
function startScan() {
document.removeEventListener("backbutton", onBackKeyDown, false);
cordova.plugins.barcodeScanner.scan(
....
,但它并没有帮助。 我们不能在插件本身上覆盖它,因为它不是一个活动。这意味着我们必须在JavaScript上做到这一点。
任何解决方案,大多赞赏。
什么是你的扫描错误回调?因为当你在扫描过程中按回来时,它应该触发错误回调 – AshBringer
否,它会触发成功处理程序,而不是错误处理程序。再次检查并检查。 – Shai