Obtener ubicación actual GMaps

Intenté mucho "obtener la ubicación actual" para Android. Pero creo que la mayoría de ellos están desactualizados, o simplemente no lo entiendo.

NO QUIERO establecer un marker.addmarker (params ..) me gustaría usar el punto azul predeterminado para mi posición en Gmaps. Aquí he encontrado algo sobre eso, pero para mi mal, tampoco funciona.

Personalizar marcador de myLocation Google Maps v2 Android

Entonces, en primera línea, necesito mi ubicación actual con un oyente cuando mi ubicación se está actualizando. Estoy intentando esto ahora (Pruebas en un dispositivo real). Pero myLocation es siempre = nulo.

    //get GMaps Fragment
    mMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
    mMap.setMyLocationEnabled(true);    //activate Blue dot

    myLocation = mMap.getMyLocation();  //Testing, but not working = null

    //Trying with LocationManager
    locManager =(LocationManager)getSystemService(this.LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = locManager.getBestProvider(criteria, true);

    myLocation = locManager.getLastKnownLocation(provider);
    if(myLocation != null){
        double lat = myLocation.getLatitude();
        double lon = myLocation.getLongitude();
    }

    locManager.requestLocationUpdates(provider, 1000, 0, new LocationListener() {
        @Override
        public void onLocationChanged(Location location) {
            myLocation = location;
        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

        }
    });

Respuestas a la pregunta(2)

Su respuesta a la pregunta