在我的应用程序中,我正在使用GPS监听器。我需要关闭GPS并稍后激活它。目前我正在使用
locationManager.removeUpdates(locationListener);
关闭gps。这将关闭GPS。但后来我无法打开它?还有其他方法可以关闭gps吗?
用于激活GPS我正在使用
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updatesInterval, 0, locationListener);
答案 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,这样你就可以启动和停止位置监听器的相同实例,否则这个东西会出现严重错误