【问题标题】:EMDK, Xamarin for Android: scan is possible only onceEMDK、Xamarin for Android:只能扫描一次
【发布时间】:2018-02-20 16:27:22
【问题描述】:

我正在为 Zebra TC51 使用 Xamarin 和 EMDK 开发适用于 Android 的应用程序。

问题是我只能触发一次条形码扫描仪(使用物理按钮)。之后,扫描仪不再运行。

这可能是什么原因?我可以检查什么来进行诊断?

代码摘录:

状态跟踪:

scanner.Status += ( s, e ) =>
{
    try
    {
        StatusData statusData = e.P0;
        StatusData.ScannerStates state = e.P0.State;

        this.RunOnUiThread( () => StateMessage( "Scanner state : " + state.Name() ) );
    }
    catch ( System.Exception exc )
    {
        this.RunOnUiThread( () => StateMessage( "Scanner state exception : " + exc.Message ) );
    }
};

对于接收到的数据:

scanner.Data += ( s, e ) =>
{
    try
    {
        var statusData = e.P0;
        var scanData = e.P0.GetScanData();

        foreach ( var sd in scanData )
        {
            this.RunOnUiThread( () => StateMessage( "Scanned : " + sd.Data ) );
        }
    }
    catch ( System.Exception exc )
    {
        this.RunOnUiThread( () => StateMessage( "Scanner data exception : " + exc.Message ) );
    }
};

我可以追踪的状态序列如下:

  • 触发前:等待、空闲、等待
  • 触发后:扫描,空闲

之后就什么都没有了。如果我有效地读取条形码(并且我可以读取一次)或不(仅触发按钮),结果是相同的。

【问题讨论】:

    标签: xamarin.android motorola-emdk


    【解决方案1】:

    您需要在每次扫描仪进入空闲状态时再次调用 read() 以启用连续扫描。有一个 Xamarin 示例应用程序,您应该可以在 https://github.com/Zebra/samples-emdkforxamarin-2_5/blob/BarcodeSample1/BarcodeSample1/BarcodeSample1/MainActivity.cs 关注它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      相关资源
      最近更新 更多