通过以下代码启动监听器后工作正常。
LocationManager locationManager =(LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, WLConstants.DELAY_HOUR, gpsl
.getMinDistance(), gpsl);
经过一段时间后,我通过以下代码停止了监听器
locationManager.removeUpdates(this);
但问题是它仍在搜索我的gps任何解决方案???如何阻止gps?
答案 0 :(得分:19)
您需要将实现请求位置更新的LocationListener的同一对象传递给locationManager.removeUpdates()方法。
所以除非this
和gpsl
是同一个,否则你应该致电:
locationManager.removeUpdates(gpsl);
答案 1 :(得分:3)
如果您使用地图,则必须执行以下操作:
locationManager.removeUpdates(locationListener);
mMap.setMylocationEnabled(false);
答案 2 :(得分:1)
你可以传递像GPSLocationListener.this这样的参数
locationManager.removeGpsStatusListener(GPSLocationListener.this);
编译不会出错
答案 3 :(得分:0)
我的监听器实现
public class GPSLocationListener extends Activity implements LocationListener {
@Override
public void onLocationChanged(Location location) {
//code here
}
}
当我尝试使用以下代码编译时错误删除侦听器。
locationManager.removeGpsStatusListener(GPSLocationListener )
答案 4 :(得分:0)
您必须将实例传递给GPSLocationListener
removeGpsStatusListener
方法,而不是类名。