在为条形码读取启用广播意图后,我将Zebra TC25 DWDemo配置文件用于我们的应用程序。当我的应用程序位于前台且屏幕处于打开状态时,所有操作均正常。但是一旦我用设备的电源按钮关闭屏幕,它就会停止广播,并且扫描条形码的硬件也没有响应。 (红色的激光阅读灯不再响应侧面按钮上的点击)。
我确保成功获取了部分唤醒锁定(通过在设备屏幕关闭时在logcat上登录mssgs)并注册了WakeFullBroadcastReceiver来获取硬件的广播意图。
要在设备屏幕关闭且CPU处于唤醒状态时如何使硬件保持活动状态并使条形码读取并广播到我的应用程序怎么办?
答案 0 :(得分:1)
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 +,而TC2x还不可用(至今?),因为基于MX8.0 +需要Oreo,命名。
为清楚起见,我为Zebra工作。