如何在我的应用中使用GPS,Wi-Fi时节省电量?

时间:2015-02-09 10:47:20

标签: android gps android-wifi battery-saver

我开发app,在服务中获取位置并将其发送到服务器。 背景中的服务每5分钟获取一次位置(例如)。 当GPS和Wi-Fi使用时,电池快速死亡。 那么,我该如何节省电池寿命?

提前感谢您的帮助!

小问题: 我是否有权在下面的每5分钟代码请求位置更新? 它是否正确使用requestLocationUpdates与NETWORK_PROVIDER,然后与GPS_PROVIDER一起使用?那必要,当GPS找不到信号时,Wi-Fi找到信号并给出坐标。 我这样做:

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 30000, 0, locationListener);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 30000, 0, locationListener);

1 个答案:

答案 0 :(得分:1)

首先,您必须意识到您需要使用的这些功能可能是功耗最高的功能之一。我编写了一些可能有助于降低功耗的事情:

首先看看你是否真的需要GPS_PROVIDER的准确度。如果没有选择NETWORK_PROVIDER。

通过设置NETWORK_PROVIDER和GPS_PROVIDER,我看到您将requestLocationUpdates回调方法设置为被调用2次。您不需要同时使用它们。另外,请查看您在requestLocationUpdates方法上传递的参数:

`public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)`

根据documentationminDistanceminimum distance between location updates, in meters并且您已将其设置为0.这意味着设备将持续获取用户位置。