我有一个按钮,当我按下它时,它调用方法whatIsEnabled()(GPS,网络或两者)并注册位置监听器。我的问题是当我运行onPause()并且Resume方法正在运行时(正在进行工作,所以当它工作时我感激不尽)但是当我把onPause mothos取消注册时,它会刷新。 代码:
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();
}