2015-05-12 2 views
2

В настоящее время я пытаюсь 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> 

Может быть, это связано с тем, как плагин в настоящее время должен быть вызван?

См http://community.phonegap.com/nitobi/topics/_barcodescanner_plugin_upgrading_scanner_javascript_api_code_changes_required:

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) {...}); 

Благодарим за помощь.

ответ

0

По какой-то причине, преступник был параметр Monaca отладчик:

В Monaca приложение> Настройки отладчика> Выключить «Перезагрузка после возобновления работы»

Смежные вопросы