我使用斑马TC25 DWDemo配置文件作为我们的应用程序,在启用广播意图条形码读取。当我的应用程序在前台和屏幕上运行时,所有的功能都很好。但是,一旦我用设备电源按钮关闭屏幕,它就停止接收广播,扫描条形码硬件也没有响应。(红色的激光读取灯不再对侧面按钮的点击作出反应)。
我确保成功地获得了部分唤醒锁(在设备屏幕关闭时将mssgs登录在logcat上),并注册了一个用于获取硬件广播意图的WakeFullBroadcastReceiver。
当设备的屏幕关闭,CPU被唤醒时,如何保持硬件活动,并将条形码读取和广播到我的应用程序?
发布于 2018-10-23 23:16:08
DWDemo应用程序使用DataWedge来捕获扫描数据,特别是“DWDemo”配置文件,如果您从应用程序中进入设置屏幕,您可以看到这一点。DataWedge是设备上的一个单独的服务,仅仅因为您的应用程序有部分唤醒锁,我很确定这并不能阻止DataWedge服务在屏幕关闭时仍然处于休眠状态,而且您还需要考虑其他情况,比如进入午睡模式的设备和清除现有的尾流锁。DataWedge的设计主要是在前景中出现不同的应用程序时,改变扫描仪的配置;对于安卓来说,当屏幕关闭时,应用程序会切换到后台,因此DataWedge也可能会切换出“DWDemo”配置文件。
为了满足您的需要,我认为通过本机SDK ( EMDK )直接访问扫描仪会更有意义,因为Android (Java)和Xamarin都可以使用EMDK。我注意到的另一个未来选项是斑马正在引入一个‘唤醒源’参数(http://techdocs.zebra.com/mx/powermgr/#wake-up-sources-enabledisable),但是这需要MX8.0+,而不是(还没有?)TC2x可以使用,因为MX8.0+需要基于命名的奥利奥。
为了清晰起见,我为斑马工作。
https://stackoverflow.com/questions/52914879
复制