加速度计在背景中

时间:2012-01-26 17:27:56

标签: android

我正在开发Android应用程序,目的是在后台监控加速计数据。我自己的设备正在运行Android 2.2。当设备锁定时,它不再收集加速度计数据。我知道部分唤醒锁定选项,但由于我的应用程序的性质,它只是不理想。

我在这件事上做了很多密集的谷歌搜索。有人说这是一个错误,它是无意的。但是,有人说它是有意的。我还读到这是在2.3.3 here中修复的。如果是这种情况,我会升级我自己的设备。 但是,this页面上的评论似乎与此相矛盾。

我被引导相信使用部分唤醒锁定会快速耗尽电池电量。有没有其他方法可以实现我想做的事情,或者是否有人有任何关于此问题的修复方法的信息?

1 个答案:

答案 0 :(得分:0)

  

我正在开发Android应用程序,目的是在后台监控加速计数据。

这不是一个好主意。

  

我在这件事上做了很多密集的谷歌搜索。有人说这是一个错误,它是无意的。但是,有人说它是有意的。我还读到这在2.3.3中已修复。如果是这种情况,我会升级我自己的设备。但是,此页面上的评论似乎与此相矛盾。

我的猜测是,这取决于设备制造商的行为。此外,正如本主题的问题所述:

  

作为附录,它现在的工作方式是你必须获得部分唤醒锁定。   这可以保证CPU不会进入睡眠模式,这将保证   传感器继续按预期发送数据。根本问题是,   基本上,部分唤醒锁定不能保证传感器会继续   运行

  

我被认为使用部分唤醒锁会快速耗尽电池。

它保持CPU通电。在正常操作中,CPU是屏幕后的第二大功率消耗(GPS可能更多,但通常是断电)。

另外,作为the documentation states

  

始终确保禁用您不需要的传感器,尤其是在您的活动暂停时。如果不这样做,可能会在几个小时内耗尽电池电量。

     

有没有其他方法可以实现我想要做的事情,或者是否有人有任何关于此问题的修复信息?

没有问题。如果要在关闭屏幕的情况下执行代码,则必须使用部分WakeLock。这与传感器没有任何关系 - 任何时间想要关闭屏幕执行代​​码,你必须使用部分WakeLock