我已经创建了一个在 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”:DexPathList[[zip 文件“/data/app/PocketPacTracAndroid.PocketPacTracAndroid-2.apk”],nativeLibraryDirectories=[/data/ app-lib/PocketPacTracAndroid.PocketPacTracAndroid-2, /vendor/lib, /system/lib]]
即使我包含了参考,也会发生这种情况:
提前致谢!
麦克风