В настоящее время я пытаюсь Monaca разработать гибридное приложение, используя плагин сканера штрих-кода 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>
Может быть, это связано с тем, как плагин в настоящее время должен быть вызван?
BarcodeScanner Plugin на PhoneGap билд будет получать обновления сегодня, и приложений с использованием его необходимо будет изменить свой код, чтобы использовать cordova.require:
Старый:
window.plugins.barcodeScanner.scan(function(){ ... }, function(){ ... }, optionsObj)
Новое:
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(function (result) {...}, function (error) {...});
Благодарим за помощь.