使用Xamarin EMDK进行摩托罗拉/ Zebra移动计算机MC67条形码扫描

时间:2016-08-02 05:40:00

标签: c# android xamarin.android motorola-emdk

我已经创建了一个在MC67NA上运行的Android应用程序,之前只有Jelly Bean附带。因为EMDK仅支持KitKat及以上版本,所以我必须通过DataWedge进行所有条形码扫描。但是,现在KitKat已经发布,我现在有一个运行KitKat的设备,我正在修改应用程序以使用EMDK而不是DataWedge。我的问题是,虽然我看到提供的所有示例并且它们确实有帮助,但它们也适用于单个布局/活动应用程序。我现有的应用程序有一个主Activity,它充当片段和视图寻呼机的容器。当它们是视图寻呼机中的活动页面时,我需要扫描几个片段。 DataWedge使这很简单,因为我不必担心任何问题,它只会扫描到有焦点的领域。

所有这些说明,为此设置实施EMDK条码扫描器的最佳方法是什么?我知道很多人都反对单身课程,但我正考虑走这条路。在应用启动时创建单例以实现扫描程序。从每个片段,然后我可以将实例获取到扫描器类并使用它。有人可以给我一些建议吗?我也不知道如何在单例中注册事件处理程序(假设这是最好的方法),然后在片段上触发这些事件。

我确实希望摆脱DataWedge并出于各种原因集成EMDK。

最后,在相关的说明中,我已经开始对此方法进行编码,并在此行中获得异常:

EMDKResults results = EMDKManager.GetEMDKManager(Application.Context, this);  

例外情况:

  

Java.Lang.ClassNotFoundException:找不到类" com.symbol.emdk.EMDKManager" on path:DexPathList [[zip file" /data/app/PocketPacTracAndroid.PocketPacTracAndroid-2.apk"],nativeLibraryDirectories = [/ data / app-lib / PocketPacTracAndroid.PocketPacTracAndroid-2,/ vendor / lib, /系统/ lib中]]

即使我已经包含了参考文献,也会发生这种情况:

enter image description here

提前致谢!

麦克

1 个答案:

答案 0 :(得分:1)

所有,为了其他任何可能遇到此问题的人的利益,我发现仅仅包含引用dll对此不够。您还需要在清单中添加引用和权限。因此,如果您收到此错误,请确保清单中包含这两行。

  1. 就在“uses-sdk”标签下方
  2. <uses-permission android:name="com.symbol.emdk.permission.EMDK" />

    1. “应用程序”标签内部
    2. <uses-library android:name="com.symbol.emdk" />