我有一个条形码扫描仪的要求。我必须实现,条形码扫描仪读取的数据必须显示我的phonegap应用程序。我在项目中使用Bluetoothserial插件。但是,当我想读取或读取条形码阅读器扫描的内容时,readUntil方法将不显示缓冲区。我使用了类似的功能
private String readUntil(String c) {
LOG.d(TAG, "parameter = " + c);
String data = "";
int index = buffer.indexOf(c, 0);
LOG.d(TAG, "index position = " + String.valueOf(buffer));
if (index > -1) {
data = buffer.substring(0, index + c.length());
buffer.delete(0, index + c.length());
}
LOG.d(TAG, "action = " + data);
return data;
}
提前致谢。请提供代码帮助或任何可以从代码中获得帮助的教程。
这是一个简短的技巧。您无需要求通过应用建立连接。您只需手动从手机连接蓝牙设备。然后在您的应用程序中使用一个文本框,并将此文本框的高度设为1,并将其放置在z索引值为负值的左上角,以使最终用户都无法看到此文本框。现在编写一个递归程序,该程序始终将重点放在文本框上。因为如果扫描仪与您的手机连接,那么如果条形码扫描仪读取了任何内容,则它将在您的文本框中打印,并且如果在文本框中写入了任何内容,则递归或超时功能将起作用。我给你下面给出的setTimeout函数代码:
function focusOnScanner()
{
if($("#scannerTxt").length == 1)
{
document.getElementById('scannerTxt').focus();
var scannedData = $("#scannerTxt").val();
if(scannedData.length > 0)
{
$("#scannerTxt").val('');
//Here do your work
}
}
setTimeout(focusOnScanner, 5000);
}
setTimeout(focusOnScanner, 5000);
我认为这将帮助您解决问题,而无需使用任何插件或建立任何连接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句