PhoneGap 2.2.0とバーコードプラグインhttps://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner(バージョン2.0.0)を使用しています
index.htmlは次のとおりです。
<!DOCTYPE HTML>
<html>
<head>
<title>Cordova</title>
<link rel="stylesheet" type="text/css" href="kkstyle.css" />
<script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script>
<script type="text/javascript" charset="utf-8" src="barcodescanner.js"></script>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, onDeviceReadyFailed);
function onDeviceReady() {
}
function onDeviceReadyFailed() {
alert("device not ready");
}
function scanIt() {
window.plugins.barcodeScanner.scan(function(result) {
alert("We got a barcode\n" + "Result: " + result.text + "\n"
+ "Format: " + result.format + "\n" + "Cancelled: "
+ result.cancelled);
navigator.app.loadUrl("http://m.kelkoo.com/fr/search/"
+ result.text);
//http://m.kelkoo.com/fr/search/9782092610954
//window.location.href = "http://www.kelkoo.fr/ss-"+ result.text +".html";
}, function(error) {
alert("Scanning failed: " + error);
});
}
</script>
</head>
<body>
<div data-role="page">
<br><br><br>
<div id="camera">
<button class="camera-control" onclick="scanIt();">Scan</button>
<div style="text-align: center; margin: 20px;">
<img id="cameraPic" src="" style="width: auto; height: 120px;"></img>
</div>
</div>
</div>
</body>
</html>
ランドスケープモードで携帯電話(4.1.1のGalaxy S3)でこのコードを起動すると、すべて問題ありません。このコードをポートレートモードで起動すると、スキャンバーの結果が返されることはなく、エラーメッセージも表示されません。それはindex.htmlに戻るだけで、スキャンを(横向きで)新しく起動すると機能します。
だから私は電話の回転とphonegapバーコードプラグインにバグがあると思います。誰かが解決策を持っていますか?