kotlin Zebra DataWedge与GS-128配合使用

wkyowqbh  于 2022-12-13  发布在  Kotlin
关注(0)|答案(1)|浏览(162)

我开始为Zebra MC 9300扫描仪开发一个Android应用程序,遇到了我猜是配置问题的问题,但作为Zebra和Android开发的新手,我有点不知所措。
我开始使用https://github.com/darryncampbell/DataWedge-GettingStarted-Samples中的示例,处理Intent的Kotlin代码似乎是这个块:

private fun displayScanResult(scanIntent: Intent) {
        val decodedSource =
            scanIntent.getStringExtra(resources.getString(R.string.datawedge_intent_key_source))
        val decodedData =
            scanIntent.getStringExtra(resources.getString(R.string.datawedge_intent_key_data))
        val decodedLabelType =
            scanIntent.getStringExtra(resources.getString(R.string.datawedge_intent_key_label_type))
        val scan = "$decodedData [$decodedLabelType]\n\n"
        val output = findViewById<TextView>(R.id.txtOutput)
        output.text = scan + output.text
    }

这看起来像是在这个应用程序中将扫描的内容输出为原始文本,但我遇到的问题似乎是围绕着这里的一个非打印字符。使用我们需要扫描的实际条形码(DATAMTIX),屏幕上的输出是这样的:

01208126080300201726
073110W21H171[X]3024

[X]下面是一个非打印字符,似乎出现了。通过各种搜索,我能够偶然发现这个字符,但它似乎没有为我做任何事情:最终目标(优选地通过Intent)将是接收上述内容,如下所示:

01: 20812608030020
17: 260731
10: W21H171
30: 24

根据与我的销售代表的对话,DataWedge应该允许我这样做,但即使使用键盘输出,我也只能得到1710的值-30(表示数量)前面的非打印字符似乎会破坏它,因为它不会显示在此示例应用程序或DWDemo(预装在扫描仪上)上。
有人能给我指出Zebra/DataWedge的Intent的正确方向吗,让它解析出所有扫描的元素,并像上面那样将它们分解?如果Intent不能做到这一点(因为DataWedge应该为我处理自动解析),我不反对键盘输出,但现在它似乎不能给予我那个数量字段。
谢谢你!

ecfdbz9o

ecfdbz9o1#

在与我们的销售代表和他们的一位工程师反复沟通后,我们发现这不起作用的原因是Zebra的DataWedge平台中的一个bug-它应该自动完成我们上面所追求的任务,但由于该bug,它没有完成。

相关问题