我为Zebra TC20条形码扫描仪创建了一个小型react原生应用程序。它工作得很好。我需要解决的主要问题是按扫描按钮打开我的应用程序。。。
默认情况下,当按下扫描按钮时,如果我的应用程序未运行,DWDemo应用程序将启动并显示扫描的数据。我需要默认情况下打开我的应用程序。
我正在使用https://github.com/darryncampbell/react-native-datawedge-intents获取条形码。并且它使用CCD_ 1。
也许有一些技术可以在前台为特定事件注册监听器并启动应用程序?
React模块(顺便说一句,我是它的作者:((经过硬编码,假设扫描数据将通过Broadcast Intent发送。我这样做是因为DataWedge API只能通过Broadcast Intents与应用程序通信,但扫描数据不是通过DataWedge API发送的,而是通过DataWege Intent输出插件发送的,该插件可以支持startActivity和startService。
默认情况下,当扫描条形码时,开箱即用的设备不会启动DWDemo。如果您启动DataWedge,您将看到许多配置文件,其中一个将是"默认"配置文件,当没有其他配置文件有效时(即,前台没有与特定配置文件关联的应用程序(使用该配置文件-您可以将该默认配置文件配置为将Intent delivery
指定为StartActivity,我假设您设备上默认的任何配置文件都在调用DWDemo应用程序。
因此,要实现你想要实现的目标,你需要:
- 配置默认的DataWedge配置文件,以便在扫描条形码时启动您的应用程序
- 使用React模块来处理接收到的Intent(在本机代码中,类似https://github.com/Zebra/samples-datawedge/blob/master/DataWedge-API-Exerciser/app/src/main/java/com/zebra/datawedgeexerciser/MainActivity.java#L163但我想一定有一个更通用的ReactNative Intent模块可以实现这一点(