【问题标题】:How can I read data from CT10 bluetooth barcode scanner in Phonegap?如何从 Phonegap 中的 CT10 蓝牙条码扫描仪读取数据?
【发布时间】:2014-08-28 15:11:34
【问题描述】:

我有一个要求,有一个条形码扫描仪。我必须实现这一点,条形码扫描仪读取的数据必须显示我的 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;
}

提前致谢。请帮助代码或任何教程,我可以在代码方面获得一些帮助。

【问题讨论】:

    标签: java android cordova bluetooth barcode-scanner


    【解决方案1】:

    这可以通过一个小技巧来实现。您不需要从您的应用程序建立连接。您只需手动从手机连接蓝牙设备。然后在您的应用程序中获取一个文本框,并将此文本框的高度设为 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);
    

    我认为这将帮助您解决问题,而无需使用任何插件或建立任何连接。

    【讨论】:

    • 感谢 Banshidhari 的工作。谢谢你非常喜欢它。不需要任何插件。但是如果客户接受它就没有问题,否则我会继续搜索!!!
    猜你喜欢
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多