我可以在 React Native 中将 Zebra 扫描仪包与 Expo 项目一起使用吗?

Posted

技术标签:

【中文标题】我可以在 React Native 中将 Zebra 扫描仪包与 Expo 项目一起使用吗?【英文标题】:Can I use a Zebra scanner package with Expo project in React Native? 【发布时间】:2020-04-02 12:06:43 【问题描述】:

我们需要在计划使用 React Native 构建的 android 应用中使用 Zebra 扫描仪(带激光/非摄像头的条形码扫描仪)的 npm 包。现在 Expo CLI 似乎是可行的方法,但经过一些快速研究,我们不太确定这是否可能 - 将这个 zebra 包包含在 Expo 项目中。你能确认是这种情况吗?

我问是因为以下关于使用 Expo 的事实:

您无法添加本机模块(对某些人来说可能会改变游戏规则) 您不能在 Objective-C/Java 中使用使用本机代码的库

应用程序应允许用户使用运行 Android 操作系统的 Zebra 扫描仪扫描条形码并返回扫描数据。

包链接:https://www.npmjs.com/package/react-native-zebra-scanner

【问题讨论】:

在这个包中,您需要更改 android/settings 文件中的某些内容,而在使用 expo 时您没有这个。要使用这个包,你必须从 expo 中导出。 我是这么认为的。谢谢你。 【参考方案1】:

对于仍在尝试在 Expo 中使用激光扫描仪的任何人,我在我的特定设备上找到了一种解决方法。

    在设备上的应用程序中,有一个“扫描仪”应用程序,其中包含扫描设置。

    有一个“输出模式”设置,其中有几个选项。我的默认选项设置为“广播模式”,这在博览会应用程序中不起作用。但是,更改为“键盘模式”有效。

    我注意到的不同之处在于“键盘模式”只是读取条形码并输入文本,扫描后不会换行。为了解决这个问题,还有另一个称为“附加后缀”的设置,可以设置为设备的回车键。因此,每当扫描完成时,它会自动转到下一行。

    现在,当您在 Expo 中实现您的应用时,您可以创建一个“TextInput”并在该 TextInput 的“onSubmitEditting”中调用您的函数。

    (可选)我已将 TextInput 的“autoFocus”设置为“True”,以便能够在页面显示后立即进行扫描,并将“blurOnSubmit”设置为 False 以保持专注于 TextInput扫描完成并调用函数后。这允许进行多次扫描,而不必每次都单击 TextInput。

让我知道它是否适合你:)

【讨论】:

【参考方案2】:

@yeslamFaded - 根据答案: 在这个包中,您需要更改 android/settings 文件中的某些内容,而在使用 expo 时您没有这个。要使用这个包,你必须从 expo 中导出

【讨论】:

以上是关于我可以在 React Native 中将 Zebra 扫描仪包与 Expo 项目一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 React Native 应用程序中将 Relay 与 Redux 集成

我可以在 React Native 中将 Zebra 扫描仪包与 Expo 项目一起使用吗?

在 react-native 中将图像上传到亚马逊 s3

在 iOS 中将 react-native-navigation 与 react-native-callkit 集成

在 React-Native 中将 RCTRootView 作为子视图添加到 rootViewController

如何在 React Native 中将矢量从类组件传递到另一个组件?