【问题标题】:The startScanFromFragment method of Scan Kit cannot be called as expectedScan Kit 的 startScanFromFragment 方法无法按预期调用
【发布时间】:2020-07-08 07:50:59
【问题描述】:
我开发了一个物流应用,需要经常扫描包裹上的条码。我试过集成ZXing实现扫码功能,但是在强光、弯曲、变形等场景下无法准确识别条码……现在我已经集成了HUAWEI Scan Kit,但是它的startScanFromFragment( Fragment f, int code, HmsSanAnalyzerOptions o) 方法不起作用。因为我使用的 fragment 继承自 androidx.fragment.app。 我该怎么办?请给我一些分数。
【问题讨论】:
标签:
android
zxing
barcode-scanner
huawei-mobile-services
【解决方案1】:
startScanFromFragment中的fragment参数是android.native.fragment。但是,android.native.fragment API 即将被弃用,并且不会包含在 Scan Kit API 参考中。条码扫描建议使用startScan(Activity a, int code, HmsSanAnalyzerOptions o)方法。
此外,Scan Kit 提供四种集成模式:默认视图、自定义视图、位图和多处理器。 Scan Kit 能够在具有挑战性的场景中,无论条码的方向如何,都能准确、快速地远距离扫描条码。
要了解更多信息,请访问HUAWEI Scan Kit。
【解决方案2】:
我不知道 Fragments 与 Scan Kit 一起使用。有一些上下文会非常好,因为我找不到任何关于它的文档。
但是,Scan Kit 应该正是您正在寻找的用例。据我所知,有三种不同的方法来实现它。 Default View Mode 是最简单的实现,Customized View Mode 可以更改扫描过程的 UI,Bitmap Mode 可以完全自定义扫描过程。
我的假设是默认或自定义视图模式对于您的物流应用程序来说就足够了。
我该怎么办?请给我一些分数。
在上面,我为您链接了 Scan Kit 的所有可用 Codelab,因为它们为您提供了如何集成其不同模式的分步指南。如果您需要 Kotlin 版本的指南,可以在 Java 版本旁边的 this 页面上找到它们。