在运行检查和发送GPS位置的服务时,您认为检查加速计是否移动以节省电量是个好主意吗?或者onLocationChanged方法的优化方式是无效的,因为它只在位置发生变化时调用,并且检查加速度计也使用电池。
我以为我可以根据加速计数据打开和关闭GPS跟踪服务。但是,如果系统已经针对GPS电池使用进行了充分优化,那么它可能没有意义吗?
答案 0 :(得分:1)
我想说这不是解决问题的最好方法,但肯定有可能。你无法分辨走路到浴室和走在街上的区别。
我会尝试一下位置监听器,根据你使用的标准,你可能看不到这么糟糕的电池消耗。
我相信还有一种方法可以让您的应用在其他应用收到位置时收到位置信息。小猪支持它的位置更新。根据您应用的位置需求,这对您来说已经足够了。
答案 1 :(得分:0)
这是可行的,但减少gps更新的另一种方法是使用requestLocationUpdates
参数和minTime和MinDistance参数,documentation建议使用超过一分钟的更新时间。
取决于您的更新频率需求。
使用加速度计触发更新我会在开头提供错误的数据,您可能会失去最初的实际修复,这取决于您的需求是否重要。
在我的情况下,我正在研究类似的应用程序跟踪距离(并使用加速度计,但用于不同的目的),当我启动gps听众时,即使站着不动,我也会收到不同的读数,这需要一些时间来解决,所以这导致未行驶的距离。目前正在寻找如何解决这个问题。
答案 2 :(得分:0)
如果你的动机是节省电池电量,那么locationListener是最好的方法。如果你的动机是根据人的动作来启用/禁用GPS,那么加速度计就是可行的方法,虽然找出触发GPS所需的动作有点棘手,因为使用加速度计来区分各种类型的动作 - 走路,跑步,搬进汽车等非常棘手。