У меня есть кнопка, когда я нажимаю ее, она вызывает метод whatIsEnabled () (GPS, сеть или оба) и регистрирует прослушиватель местоположения.Моя проблема в том, что когда я запускаю его без onPause (), а методы Resume - это работа (работа в процессе, поэтому я благодарен, когда она работает), но когда я ставлю девиз onPause, чтобы отменить регистрацию слушателя, он творит.Код:
private OnClickListener location_button = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new Coordonates(drawable, mapView, Map.this);
switch(Settings.whatIsEnabled()) {
case 1: {
Toast.makeText(context, "Location services disabled",Toast.LENGTH_LONG).show();
break;
}
case 2: {
Toast.makeText(context, "Location obtained via GPS satellites",Toast.LENGTH_LONG).show();
Toast.makeText(context, "Waiting for location",Toast.LENGTH_LONG).show();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 50,locationListener);
break;
}
case 3: {
Toast.makeText(context, "Location obtained via Wi-Fi/mobile network",Toast.LENGTH_LONG).show();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 1000, locationListener);
break;
}/*
case 4: {
Toast.makeText(context, "Location obtained via the best provider available",Toast.LENGTH_LONG).show();
locationManager.
break;
}*/
}
}
};
protected void onResume() {
super.onResume();
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
locationManager.removeUpdates(locationListener);
super.onPause();
}