【问题标题】:Zebra DataWedge Intents with GS-128Zebra DataWedge Intents 与 GS-128
【发布时间】:2022-12-14 12:43:04
【问题描述】:

我开始为 Zebra MC9300 扫描仪开发 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
    }

这似乎输出了在此应用程序中作为原始文本扫描的内容,但我遇到的问题似乎集中在此处的非打印字符周围。使用我们需要扫描的实际条形码 (DATAMTRIX),屏幕上的输出是这样的:

01208126080300201726
073110W21H171[X]3024

[X] 这里是似乎出现的非打印字符。通过各种搜索,我偶然发现了这个,但它似乎对我没有任何作用:https://supportcommunity.zebra.com/s/article/DataWedge-Android-Search-and-Remove-Group-Separator?language=en_US。最终目标(最好通过 intents)是接收上面这样的东西:

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

根据与我的销售代表的对话,DataWedge 应该允许我这样做,但即使使用键盘输出,我能得到的最好结果是 1710 的值 - @987654329 之前的非打印字符@(用于数量)似乎破坏了它,因为它不会显示在此示例应用程序或扫描仪上预安装的 DWDemo 上。

谁能为 Zebra/DataWedge 的意图指出正确的方向,并让它解析出所有扫描的元素并像上面那样分解它们?如果意图不能做到这一点(因为 DataWedge 应该为我处理自动解析),我不反对键盘输出,但现在它似乎不能给我那个数量字段。

谢谢!

【问题讨论】:

    标签: android kotlin datawedge zebra-scanners


    【解决方案1】:

    在与我们的销售代表和他们的一位工程师来回交流之后,事实证明这不起作用的原因是 Zebra 的 DataWedge 平台中的一个错误——它应该自动执行我们上面的操作,但由于那个错误不是。

    【讨论】:

      猜你喜欢
      • 2022-12-29
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      • 2013-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多