Android PhoneGap条码扫描问题
我想从我的android手机上扫描条形码,我正在使用PhoneGap,我的问题是我想在点击按钮时扫描条形码,下面的代码非常适合我,但当我使用这个按钮时,点击它想要工作Android PhoneGap条码扫描问题,android,cordova,phonegap-plugins,barcode,Android,Cordova,Phonegap Plugins,Barcode,我想从我的android手机上扫描条形码,我正在使用PhoneGap,我的问题是我想在点击按钮时扫描条形码,下面的代码非常适合我,但当我使用这个按钮时,点击它想要工作 <body> <div class="app"> <h1>DevExpress DevExtreme JS HTML</h1> <div id="deviceready" class="blink"> <
<body>
<div class="app">
<h1>DevExpress DevExtreme JS HTML</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="barcodescanner.js"></script>
<script type="text/javascript">
var app = {
initialize: function () {
this.bindEvents();
},
bindEvents: function () {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function () {
app.receivedEvent('deviceready');
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(
function (result) {
alert("We got a barcode\n" +
"Result: " + result.text + "\n" +
"Format: " + result.format + "\n" +
"Cancelled: " + result.cancelled);
},
function (error) {
alert("Scanning failed: " + error);
}
);
},
receivedEvent: function (id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
</script>
<script type="text/javascript">
app.initialize();
</script>
</body>
DevExpress-DevExtreme JS HTML
连接到设备
设备已准备就绪
变量应用={
初始化:函数(){
这是bindEvents();
},
bindEvents:函数(){
文件.addEventListener('devicerady',this.ondevicerady,false);
},
onDeviceReady:函数(){
app.receivedEvent(“DeviceRady”);
var scanner=cordova.require(“cordova/plugin/BarcodeScanner”);
扫描器(
功能(结果){
警报(“我们得到了一个条形码\n”+
结果:“+Result.text+”\n+
格式:“+result.Format+”\n+
“已取消:“+结果.已取消”);
},
函数(错误){
警报(“扫描失败:+错误”);
}
);
},
receivedEvent:函数(id){
var parentElement=document.getElementById(id);
var listeningElement=parentElement.querySelector('.listening');
var receivedElement=parentElement.querySelector('.received');
setAttribute('style','display:none;');
setAttribute('style','display:block;');
console.log('接收到的事件:'+id);
}
};
app.initialize();
但是这个代码不起作用
<script type="text/javascript">
function scanCode(){
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(
function(result){
document.getElementById("data").value= result.text;
},
function(error){
alert("Scan failed: " + error);
}
);
}
</script>
</head>
<body>
<h3>Barcode/QR Code Scanner And Encoder</h3>
<input type="button" value="Scan Code" onclick="scanCode();"/><br/><br/>
Data : <br/>
<input type="text" name="data" id="data" /><br/><br/>
</body>
函数scanCode(){
var scanner=cordova.require(“cordova/plugin/BarcodeScanner”);
扫描器(
功能(结果){
document.getElementById(“数据”).value=result.text;
},
函数(错误){
警报(“扫描失败:+错误”);
}
);
}
条形码/二维码扫描仪和编码器
数据:
请帮助为
扫描器
创建一个全局范围的变量,然后在文档就绪
中保留将该变量分配给cordova.require
,然后在按钮事件调用中调用扫描器.scan
例如:
<body>
<div class="app">
<h3>Barcode/QR Code Scanner And Encoder</h3>
<input type="button" value="Scan Code" onclick="scanCode();"/><br/><br/>
Data : <br/>
<input type="text" name="data" id="data" /><br/><br/>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="barcodescanner.js"></script>
<script type="text/javascript">
var scanner = null;
var app = {
initialize: function () {
this.bindEvents();
},
bindEvents: function () {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function () {
app.receivedEvent('deviceready');
scanner = cordova.require("cordova/plugin/BarcodeScanner");
cordova.require("com.phonegap.plugins.barcodescanner.BarcodeScanner");
},
receivedEvent: function (id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
function scanCode(){
scanner.scan(
function(result){
document.getElementById("data").value= result.text;
},
function(error){
alert("Scan failed: " + error);
}
);
}
</script>
<script type="text/javascript">
app.initialize();
</script>
</body>
条形码/二维码扫描仪和编码器
数据:
var scanner=null;
变量应用={
初始化:函数(){
这是bindEvents();
},
bindEvents:函数(){
文件.addEventListener('devicerady',this.ondevicerady,false);
},
onDeviceReady:函数(){
app.receivedEvent(“DeviceRady”);
scanner=cordova.require(“cordova/plugin/BarcodeScanner”);
require(“com.phonegap.plugins.barcodescanner.barcodescanner”);
},
receivedEvent:函数(id){
var parentElement=document.getElementById(id);
var listeningElement=parentElement.querySelector('.listening');
var receivedElement=parentElement.querySelector('.received');
setAttribute('style','display:none;');
setAttribute('style','display:block;');
console.log('接收到的事件:'+id);
}
};
函数scanCode(){
扫描器(
功能(结果){
document.getElementById(“数据”).value=result.text;
},
函数(错误){
警报(“扫描失败:+错误”);
}
);
}
app.initialize();
在使用按钮之前,您是否正在等待设备就绪?工作代码还有“cordova.require”(“com.phonegap.plugins.barcodescanner.barcodescanner”),但是另一个代码块没有。是代码中的其他地方吗?谢谢你帮我解决了,你忘了添加一些标签连接到设备上了设备准备好了