在启用条形码读取的广播意图之后,我在我们的应用程序中使用了Zebra TC25 DWDemo配置文件。当我的应用程序位于前台且屏幕处于打开状态时,所有操作均正常。但是,一旦我用设备的电源按钮关闭屏幕,它就会停止广播,并且扫描条形码的硬件也没有响应。 (红色的激光阅读灯不再响应侧面按钮上的点击)。

我确保成功获取了部分唤醒锁(通过在设备屏幕关闭时在logcat上登录mssgs)并注册了WakeFullBroadcastReceiver来获取硬件的广播意图。

为了在设备屏幕关闭且CPU保持唤醒状态下保持硬件处于活动状态并使条形码读取并广播到我的应用程序,该怎么办?

最佳答案

DWDemo应用程序正在使用DataWedge捕获扫描数据,特别是“ DWDemo”配置文件,如果您从应用程序内转到设置屏幕,则可以看到此数据。 DataWedge是设备上的一项单独服务,仅因为您的应用程序具有部分唤醒锁,我敢肯定这不会阻止DataWedge服务在屏幕关闭时仍处于休眠状态,另外您还需要考虑设备等其他情况进入打ze模式并清除现有的唤醒锁。 DataWedge的主要目的是在前台出现不同的应用程序时更改扫描仪配置。当屏幕关闭时,就Android而言,该应用程序将进入后台,因此DataWedge仍可能会退出“ DWDemo”配置文件。

对于您的需求,我认为直接通过本机SDK(适用于Android(Java)和Xamarin的EMDK)访问扫描仪会更有意义。我注意到的另一个将来的选择是Zebra引入了“唤醒源”参数(http://techdocs.zebra.com/mx/powermgr/#wake-up-sources-enabledisable),但是它需要MX8.0 +,而MX2 +还不能用于TC2x,因为MX8.0 +需要命名为Oreo(基于命名) 。

为了清楚起见,我为Zebra工作。

关于android - Zebra TC25-如何在后台继续接收广播 Intent ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52914879/

10-10 16:10