title: how I can get the city name of my current position?
body: <p>I'm working with android studio and in a popup dialog I want that users can get their position but all I know to do is get my latitude and longitude.</p>
  
  <p><strong>This is the code</strong> </p>
  
  <pre><code>import android.app.Activity;
  import android.content.Context;
  import android.location.Criteria;
  import android.location.Location;
  import android.location.LocationListener;
  import android.location.LocationManager;
  import android.os.Bundle;
  import android.widget.TextView;
  import android.widget.Toast;
  
  public class MainActivity extends Activity implements LocationListener {
      private TextView latituteField;
      private TextView longitudeField;
      private LocationManager locationManager;
      private String provider;
  
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          latituteField = (TextView) findViewById(R.id.TextView02);
          longitudeField = (TextView) findViewById(R.id.TextView04);
  
  
          locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  
          Criteria criteria = new Criteria();
          provider = locationManager.getBestProvider(criteria, false);
          Location location = locationManager.getLastKnownLocation(provider);
  
  
          if (location != null) {
              System.out.println("Provider " + provider + " has been selected.");
              onLocationChanged(location);
          } else {
              latituteField.setText("Location not available");
              longitudeField.setText("Location not available");
          }
      }
  
  
      @Override
      protected void onResume() {
          super.onResume();
          locationManager.requestLocationUpdates(provider, 400, 1, this);
      }
  
  
      @Override
      protected void onPause() {
          super.onPause();
          locationManager.removeUpdates(this);
      }
  
      @Override
      public void onLocationChanged(Location location) {
          int lat = (int) (location.getLatitude());
          int lng = (int) (location.getLongitude());
          latituteField.setText(String.valueOf(lat));
          longitudeField.setText(String.valueOf(lng));
      }
  
      @Override
      public void onStatusChanged(String provider, int status, Bundle extras) {
  
  
      }
  
      @Override
      public void onProviderEnabled(String provider) {
          Toast.makeText(this, "Enabled new provider " + provider,
                  Toast.LENGTH_SHORT).show();
  
      }
  
      @Override
      public void onProviderDisabled(String provider) {
          Toast.makeText(this, "Disabled provider " + provider,
                  Toast.LENGTH_SHORT).show();
      }
  } 
  </code></pre>
  
  <p>in the MainActivity.Can you help me?</p>
  
  <p>I've added this in the manifest</p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/&gt;
  </code></pre>
  
  <p>but it still says "Location not available".</p>
  
  <hr>