我开始为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应该允许我这样做,但即使使用键盘输出,我也只能得到17
和10
的值-30
(表示数量)前面的非打印字符似乎会破坏它,因为它不会显示在此示例应用程序或DWDemo(预装在扫描仪上)上。
有人能给我指出Zebra/DataWedge的Intent的正确方向吗,让它解析出所有扫描的元素,并像上面那样将它们分解?如果Intent不能做到这一点(因为DataWedge应该为我处理自动解析),我不反对键盘输出,但现在它似乎不能给予我那个数量字段。
谢谢你!
1条答案
按热度按时间ecfdbz9o1#
在与我们的销售代表和他们的一位工程师反复沟通后,我们发现这不起作用的原因是Zebra的DataWedge平台中的一个bug-它应该自动完成我们上面所追求的任务,但由于该bug,它没有完成。