我可以在 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 项目一起使用吗?
在 iOS 中将 react-native-navigation 与 react-native-callkit 集成