【问题标题】:Codename One Barcode Scanner Fails to Return ValueCodename 一个条码扫描器返回值失败
【发布时间】:2019-11-08 18:18:04
【问题描述】:

我的应用程序使用 cn1-codescan.cn1lib 返回不受支持。当我使用已弃用的 CodeScanner (com.codename1.codescan.*) 时,扫描仪应用程序可以工作,但永远不会返回值。我正在三星 Note 4 上进行测试,以防万一……

private void scanIt(TextField tfField)
{
    if(CodeScanner.isSupported())
    {
        CodeScanner cs = CodeScanner.getInstance();
        if(cs != null)
        {
            MyScanResult msr = new MyScanResult();
            cs.scanBarCode(msr);
            tfField.setText(msr.scancode);
        }
        else
            tfField.setText("No Instance!");
    }
    else
        tfField.setText("Not Supported!");
}

import com.codename1.ext.codescan.*;

public class MyScanResult implements ScanResult
{
    public String scancode = null;

    public MyScanResult()
    {      
    }

    public void scanCompleted(String contents, String formatName, byte[] rawBytes)
    {
        scancode = contents;
    }

    public void scanCanceled()
    {
        scancode = "Canceled";
    }

    public void scanError(int errorCode, String message)
    {
        scancode = "Error! "+message;
    }            
}

这是两个相关的函数调用。我提前感谢您的帮助。谢谢。

【问题讨论】:

  • 添加了 codenameone 标签,这在这种情况下至关重要,因为这是一个 Codename One 问题。

标签: java codenameone barcode


【解决方案1】:

在使用已弃用的 API 时,您可以将 IDE 指向已弃用的功能以获得更多帮助,并且在大多数情况下,弃用功能会得到解释,并且您应该使用的类会在弃用通知中提及。

您专门使用了com.codename1.codescan.CodeScanner,这是旧的不再有效的实现。您应该使用com.codename1.ext.codescan.CodeScanner,它没有被弃用并且应该可以正常工作。只有安装并刷新了 cn1lib 才会出现。

【讨论】:

  • 当我按照你的建议做时,我得到“不支持”。 CodeScanner.isSupported() 返回 false。我正在使用 NetBeans 11.2,如果这可以有所作为...
  • 我正在使用 cn1-codescan.cn1lib 并且库已经刷新。我只提到了已弃用的例程,因为它更接近工作。
  • 这很奇怪。如果您在支持的 Android 设备上运行,则应始终返回 true 并成功。假设您使用的是 ext 包,我看不出它在这个阶段应该失败的情况。您可以用电缆连接设备并查看运行程序时打印到 logcat 的内容吗?我猜那里有一个例外。
  • 我正在使用 adb logcat 来尝试定位错误,因为无论我做什么,此代码都会失败并且不支持返回。我需要把这个放在我身后,但我很难过。我能做些什么来解决这个问题?我可以看到代码在哪里打到我的标签 - Log.p(TAG, Log.DEBUG);我添加了,但日志中似乎没有错误。
  • 您使用的是哪个codescanner 应用程序?您是否尝试过使用 LittleMonkey 代码扫描器 cn1lib?它可能会为您的案例提供更流畅的体验
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2013-07-09
  • 2023-02-12
  • 1970-01-01
相关资源
最近更新 更多