11

BlackBerry デバイスで Cordova 用の BarcodeScanner プラグインを使用しようとしていますが、うまくいきません。サンプル コードでは、次の構造を利用しています。

window.plugins.BarcodeScanner...

しかしwindow.pluginsですundefined

私は新鮮な新しいアプリケーションで試してみましたが、window.plugins引き続きそうですundefined(つまり、何も追加していないサンプルアプリケーションです)。

API が変更され、ドキュメントが古くなっていますか、それとも何か不足していますか?

ありがとう!

4

4 に答える 4

8

Cordova 2.0 では、BarcodeScanner プラグインで使用される「addPlugin」メソッドが削除されました。したがって、簡単な修正は、プラグインを追加するために使用される「addConstructor」関数を削除 (またはコメントアウト) し、それをウィンドウ オブジェクトへの明示的な添付ファイルに置き換えることです。

//cordova.addConstructor(function() {
//    cordova.addPlugin('barcodeScanner', new BarcodeScanner());
//});

window.barcodeScanner = new BarcodeScanner();

すると、「window.plugins」が使われていないので、「scan」メソッドを呼び出すコードも変更する必要があるので、

window.plugins.barcodeScanner.scan(...

window.barcodeScanner.scan(...

これを Cordova 2.0 でテストしたところ、動作しました。

于 2012-07-23T22:48:10.073 に答える
3

同じ問題が発生しました。ウィンドウオブジェクトを調べた後、BarcodeScannerがすぐそこにあることがわかりました。window.BarcodeScanner.prototype.scan(result, error)トリックもそうだった。コルドバが完全に初期化されるのを待つようにしてください。そうしないと、次のようになります。has no method exec()

于 2012-07-23T15:27:06.390 に答える
2

今朝、2.0.0 で動作する新しい BarcodeScanner をプッシュしました。

https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner/2.0.0

于 2012-07-24T18:26:40.887 に答える
0

最後に、プラグインがまだ最新ではないため、cordova 1.9.0 を使用しました。

みんなありがとう!

于 2012-07-23T23:08:51.590 に答える