Monaca + 条码扫描器回调问题
Monaca + barcode scanner callback issue
我目前正在尝试使用 Cordova 条形码扫描器插件开发 Monaca 混合应用程序。
由于某种原因,扫描回调开始表现不正常。
扫描后,我立即看到一个同步消息对话框(“正在检查同步目标文件...”),然后是一个“正在下载文件”对话框,最后是我要求的结果对话框。关闭我的结果对话框后,应用程序返回到索引页面,这是我不想要的。
这是我的代码(我使用 Onsen UI):
js/app.js
var app = angular.module('hello', ['onsen']);
app.controller('testController', ['$scope',function($scope) {
$scope.scan = function() {
window.plugins.barcodeScanner.scan(function(result) {
alert( result.text);
}, function(error) {
alert('scan error');
});
}
}]);
index.html
<!DOCTYPE HTML>
<html ng-app="hello">
<head>
<title>Barcode</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<script src="components/loader.js"></script>
<link rel="stylesheet" href="components/loader.css">
<script src="js/app.js"></script>
</head>
<body>
<div ng-controller="testController">
<input type="button" ng-click="scan()" value ="Scan !" />
</div>
</body>
</html>
可能与现在必须调用插件的方式有关?
The BarcodeScanner Plugin on PhoneGap Build will be getting an update today, and apps using it will need to change their code to use cordova.require:
Old:
window.plugins.barcodeScanner.scan(function(){ ... }, function(){ ... }, optionsObj)
New:
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(function (result) {...}, function (error) {...});
感谢您的帮助。
出于某种原因,罪魁祸首是 Monaca 调试器参数:
在 Monaca 应用 > 调试器设置 > 关闭 "Restart after resume"
我目前正在尝试使用 Cordova 条形码扫描器插件开发 Monaca 混合应用程序。
由于某种原因,扫描回调开始表现不正常。
扫描后,我立即看到一个同步消息对话框(“正在检查同步目标文件...”),然后是一个“正在下载文件”对话框,最后是我要求的结果对话框。关闭我的结果对话框后,应用程序返回到索引页面,这是我不想要的。
这是我的代码(我使用 Onsen UI):
js/app.js
var app = angular.module('hello', ['onsen']);
app.controller('testController', ['$scope',function($scope) {
$scope.scan = function() {
window.plugins.barcodeScanner.scan(function(result) {
alert( result.text);
}, function(error) {
alert('scan error');
});
}
}]);
index.html
<!DOCTYPE HTML>
<html ng-app="hello">
<head>
<title>Barcode</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<script src="components/loader.js"></script>
<link rel="stylesheet" href="components/loader.css">
<script src="js/app.js"></script>
</head>
<body>
<div ng-controller="testController">
<input type="button" ng-click="scan()" value ="Scan !" />
</div>
</body>
</html>
可能与现在必须调用插件的方式有关?
The BarcodeScanner Plugin on PhoneGap Build will be getting an update today, and apps using it will need to change their code to use cordova.require:
Old:
window.plugins.barcodeScanner.scan(function(){ ... }, function(){ ... }, optionsObj)
New:
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(function (result) {...}, function (error) {...});
感谢您的帮助。
出于某种原因,罪魁祸首是 Monaca 调试器参数:
在 Monaca 应用 > 调试器设置 > 关闭 "Restart after resume"