GPS 芯片控制是否受"传感器辅助"影响?



我得出的结论是,传递给requestLocationUpdates(minTime, minDistance)的两个参数对节省我的手机(Gingerbread)的电池电量没有任何影响,因为卫星图标一直保持在上,GPS状态永远不会像过去一些人报告的那样变为TEMPORARILY_UNAVAILABLE。

因此,我将GPS的控制外包给一个具有定时Runnable的服务,以便我自己控制GPS。该服务是一个简单的状态机,有三个状态:IDLE、SEEKING和FIXED_AND_SLEEPING。当机器正在寻找GPS时,GPS是启用的,当它得到足够的精度修复时,它调用removeUpdates,关闭GPS并启动一个Runnable,该Runnable在由服务绑定器接口中的参数设置的一段时间后超时,并再次打开更新并移动到状态SEEKING。

我认为我已经很好地解决了控制GPS是打开还是关闭的问题,因为图标根据传递给机器的参数打开和关闭,日志线显示了我所期望的状态变化。

然而,我的手机有一个功能被描述为:

使用传感器辅助:"设置使用传感器增强GPS信号受阻时的行人定位功能。传感器估计值与

如果我打开这个,我会看到日志行呼啸而过,上面写着类似

的内容

[HYPOS] NOMOVE Time 234940, PowerMode 0, GPSWeakSignal 181, GPSFixTime 0, Car 1, DOE 3

和GPS图标有时会在我没有告诉它的时候关闭。好吧,它当然不会移动,因为手机放在我的桌子上,插着USB线来捕捉日志。

我想知道这是否是minDistance参数requestLocationUpdates的目的?

仅仅使用GPS是无法确定GPS是否开启的,因为GPS需要打开才能知道手机移动了多远。

如果传感器辅助打开,那么加速度计可以在一段时间内集成,获得行进距离的大致概念,并决定手机的移动距离不超过minDistance,并告诉GPS芯片关闭自己?

我试着看看什么能让它重新亮起来,但当我拔掉USB插头带着手机出去走走时,图标立即又亮了起来。

在Android开发者对此没有给出明确的声明的情况下,任何关于这方面的意见或经验都将被感激地接受

只是给一个背景。Android有许多位置提供商,如GPS, GNSS,网络位置提供商和基于Wi-Fi的提供商。其中大多数是芯片组供应商的专有功能,并根据硬件能力有自己的实现。现在有另一个领域被称为AGPS(辅助gps)。由于GPS是>- 120dbm范围内的低功耗信号,因此需要更多的计算资源来跟踪卫星并计算和估计其位置。因此,你可以说GPS耗电。利用各种技术来减少辅助GPS对计算资源的需求。其中一些是cell-ID定位,SBAS, XTRA,传感器,无线电辅助等

在我看来,当GPS传感器打开时,你的功耗是恒定的。

传递给requestLocationUpdates(minTime, minDistance)的两个参数将只定义使用CPU的数据刷新参数(这不会使用很多电源)。

所以,当你的GPS传感器被激活时,你不能真正控制你的功耗。

最新更新