我正在开发一个使用 gps 的应用程序,该应用程序在应用程序投入使用之前一直运行。我的 GPS 会在 5 分钟后唤醒并获取位置,然后其符号停止闪烁并在几乎所有设备(Sony xperia、Samsung tab、Htc WildFire、Motorola photon)中不可见,但在 Motorola Defy 和 Samsung Ace 中不可见,它们会消耗大量电池电量. GPS得到修复并始终保持稳定和可见。这些设备(Moto Defy 和三星 Ace)的 GPS 工作方式不同。看我的代码:
long _listenerWakeUpTimeInterval=1000*60*5;** //5 minutes
_locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, _listenerWakeUpTimeInterval, 300, locationListener);
所有设备的 GPS 都会在 5 分钟后唤醒,但这两款设备(Moto Defy 和三星 Ace)的 GPSonLocationChanged(Location loc)
每 300 米调用一次该方法。对于这两种设备来说,时间并不重要。当我快速旅行(在汽车中)时,这个距离在几分钟(1 或 2 分钟)内即可完成。所以我接到了一个关于onLocationChanged(Location loc)
方法的电话。在这些设备中,GPS 始终是固定的、静态的和可见的。我不想locationManager.removesupdates
每次 GPS 得到修复时都调用方法。我只在onDestroy()
服务中调用此方法。那么请告诉为什么这两个设备的 GPS 与其他设备的行为不同,以及如何解决这个问题?