Obtener el estado del GPS en la ubicación cambiada

Estoy usando los servicios de GPS para derivar latitud y longitud en mi aplicación. Soy capaz de obtener la latitud y longitud cuando la señal está disponible. Una vez que obtengo una corrección, si tengo que ir a un lugar donde el GPS no puede obtener una corrección de ubicación, todavía muestra la última ubicación. Quiero obtener la ubicación actual y no de otra manera. He intentado usar onLocationChanged () y onGpsStatusChanged () para obtener el estado del GPS pero no me está dando el resultado.

@Override
public void onGpsStatusChanged(int arg0) {
    // TODO Auto-generated method stub
    if (event == GpsStatus.GPS_EVENT_STARTED) {
        Log.d("zmenaGPS" , "GPS event started ");
        GpsStatus gs = mlocManager.getGpsStatus(null);
        Toast.makeText(getApplicationContext(),String.valueOf(gs),Toast.LENGTH_LONG).show();

    } else if (event == GpsStatus.GPS_EVENT_STOPPED) {
        Log.d("zmenaGPS" , "GPS event stopped ");
        GpsStatus gs = mlocManager.getGpsStatus(null);
        Log.d("zmenaGPSgps status" , String.valueOf(gs));
        Toast.makeText(getApplicationContext(),String.valueOf(gs),Toast.LENGTH_LONG).show();

    } else if (event == GpsStatus.GPS_EVENT_FIRST_FIX) {
        Log.d("zmenaGPS" , "GPS fixace ");
        Toast.makeText(getApplicationContext(),"First Fix",Toast.LENGTH_LONG).show();
    } else if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) {
        Log.d("zmenaGPS" , "GPS EVET NECO ");
    } 

}

Respuestas a la pregunta(3)

Su respuesta a la pregunta