android 传感器休眠的问题

在一些情况下我们会需要调用android的api的使用传感器,acceleration , orientation,gyroscope, 但一般会遇到这样的一个问题,当屏幕暗屏的情况下,会无法获取传感器的读书(暗屏之后过一段时间会休眠)

通过查询发现 wake_lock可以解决这个问题,他可以让cpu在暗屏情况下不休眠,但又由于对wake_lock使用不当,我 误以为传感器的休眠和cpu的休眠时不一样的(好像也说的通),  但后来差了一点资料 大多传感器都是物理装置。。。哪来休眠的说法啊,一些逻辑传感器也是通过物理传感器变化而来的,方向传感器来自磁力传感器。


在经过试验之后,发现了wake_lock 的准确适用方法,  例如你 记录传感器的参数的代码写在 service中(这种功能一般都放在后台),把acquire()放在oncreate()中, release()放在 onDestory()中就行了, 这样即便你暗屏且你的这个应用不在最前端(手机屏幕上),你仍然可以后去读数, (不要把wake_lock的acquire(),release()放在activity中.)括号中的这句话之前表述有误。


WakeLock的设置是 Activiy 级别的,不是针对整个Application应用的。可以在activity的onResume方法里面操作WakeLock,  在onPause方法里面释放。


阅读更多
个人分类: school
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭