实施GPS时如何避免电池耗尽?

时间:2011-05-11 13:19:17

标签: android

在我的应用程序中,我正在使用GPS监听器。我需要关闭GPS并稍后激活它。目前我正在使用

locationManager.removeUpdates(locationListener);

关闭gps。这将关闭GPS。但后来我无法打开它?还有其他方法可以关闭gps吗?

用于激活GPS我正在使用

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updatesInterval, 0, locationListener);

2 个答案:

答案 0 :(得分:5)

您可以创建一个实现位置监听器的服务 因此,当您想要启动位置监听器时,您可以启动服务并放入

ocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updatesInterval, 0, locationListener);

onCreate()方法

当您想要关闭位置时更新停止服务 并把线

locationManager.removeUpdates(locationListener);

到onDistroy()方法

答案 1 :(得分:1)

我希望gps能够返回最准确的值。所以我将requestLocationUpdates函数的minValue和minDistance值设置为0.

然后为了解决电池耗尽的问题,当应用程序到达前台并且应用程序进入后台时,我将启动并停止gps(这是一项服务)。

启动我使用过的GPS

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

在服务的onCreate中。

结束使用的GPS

locationManager.removeUpdates(locationListener);

在服务的onDestroy中。

你必须在服务中启动和停止gps,这样你就可以启动和停止位置监听器的相同实例,否则这个东西会出现严重错误