I want to be able to get the current coordinates using only GPS.
At the moment my code gets the coordinates once and then uses them over again once they have been stored. I'm looking for the solution on how to modify the code so that when the button is clicked it gets the current coordinates.
Here's the code:
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //Setting TextViews for the coordinates
    startLatitudeField = (TextView) findViewById(R.id.TextView02);
    startLongitudeField = (TextView) findViewById(R.id.TextView04);
    endLatitudeField = (TextView) findViewById(R.id.textView06);
    endLongitudeField = (TextView) findViewById(R.id.textView08);
    //Button
    Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            Criteria criteria = new Criteria();
            provider = locationManager.getBestProvider(criteria, false);
            Location location = locationManager.getLastKnownLocation(provider);
            //find out how to get the current location using gps
            //not what is stored
            if (startLat != 0) {
                onLocationChanged(location);
            } else {
            onLocationChanged(location);
            Button button = (Button) findViewById(R.id.button1);
            button.setText("Get me home");
            }
        }
    }); 
};
@Override
public void onLocationChanged(Location location) {
    if (startLat == 0) {
        startLat = (double) (location.getLatitude());
        startLng = (double) (location.getLongitude());
        startLatitudeField.setText(String.valueOf(startLat));
        startLongitudeField.setText(String.valueOf(startLng));
    } 
    else {
        endLat = (double) (location.getLatitude());
        endLng = (double) (location.getLongitude());
        endLatitudeField.setText(String.valueOf(endLat));
        endLongitudeField.setText(String.valueOf(endLng));
    }
}
 
     
     
    