屏幕关闭时,Android工作方式适用于非工作传感器

[编辑:删除了所有提到的 Android版本 – 所有版本的android都存在此问题]

背景:当屏幕关闭时,许多Android手机不会通过在屏幕关闭调用onSensorChanged()来为Accelerometer读数的应用程序提供更新.在S.O.上讨论了这种行为.并在此进一步记录
http://code.google.com/p/android/issues/detail?id=3708

在某些手机(Nexus S,Droid X2,…)上,加速度计值仅在值发生重大变化时提供.例如,坐在桌子上,每分钟可能有一次或零次更新

为了生成跨手机型号的强大代码,我如何区分每个屏幕缺少更新事件,以及每次非移动缺少更新?我应该维护手机型号的数据库吗?

解决方法

这很难察觉. Android的API提供了一种控制唤醒锁的方法.但是制造商已经做了一项可怕的工作,将其实施到操作系统中.只是可怕的.当屏幕关闭时,您需要获取PARTIAL_WAKE_LOCK以保持手机cpu运行.

然而,并非所有设备都使用它并且不会响应 – 一半/一半响应 – 而一些设备响应很好.

阅读上面的评论后,我可以告诉你,我使用的2.3大多数设备仍然没有实现部分唤醒锁定.

我个人不会依赖制造商控制的东西,因为市场是分散的.我会尝试找到一种方法来获得我正在寻找的功能与不同的解决方案.

希望这可以帮助.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...