2

私は現在、Cordova バーコード スキャナー プラグインを使用して Monaca でハイブリッド アプリを開発しようとしています。

何らかの理由で、スキャン コールバックが正しく動作しなくなりました。

スキャンの直後に、同期メッセージ ダイアログ ("checking sync target files...")、次に "downloading files" ダイアログ、最後に要求した結果ダイアログが表示されます。結果ダイアログを閉じると、アプリがインデックス ページに戻りますが、これは望ましくありません。

これが私のコードです(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を参照してください:

PhoneGap Build の BarcodeScanner プラグインは本日更新されます。それを使用するアプリは、cordova.require を使用するようにコードを変更する必要があります。

年:

window.plugins.barcodeScanner.scan(function(){ ... }, function(){ ... }, optionsObj) 

新しい:

var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(function (result) {...}, function (error) {...});

ご協力いただきありがとうございます。

4

1 に答える 1

0

何らかの理由で、原因は Monaca デバッガーのパラメーターでした:

Monaca アプリ > デバッガーの設定 > 「再開後に再起動」をオフにする

于 2015-05-21T07:32:20.597 に答える