title: I have a problem with the get current location android
body: <p>I have problem with the gps in android (java) :I apply the permissions in manifests and I open the network and allow the permission for the gps but all the time this message "Can't Get Your Location " I use the API 27 and I use my phone j5 pro for the simulation . </p>
  
  <p><a href="https://www.youtube.com/watch?v=rg7FFUbIu9o&amp;lc=z225styi1rzijjv5v04t1aokgqisttmwxryvfo0rplzzrk0h00410.1566142987821928" rel="nofollow noreferrer">https://www.youtube.com/watch?v=rg7FFUbIu9o&amp;lc=z225styi1rzijjv5v04t1aokgqisttmwxryvfo0rplzzrk0h00410.1566142987821928</a> this video shows the code source and the work </p>
  
  <p>Java</p>
  
  <pre class="lang-java prettyprint-override"><code>    package com.example.myapplication9;
      import android.Manifest;
      import android.app.AlertDialog;
      import android.content.Context;
      import android.content.DialogInterface;
      import android.content.Intent;
      import android.content.pm.PackageManager;
      import android.location.Location;
      import android.location.LocationManager;
      import android.os.Bundle;
      import android.provider.Settings;
      import android.view.View;
      import android.widget.Button;
      import android.widget.TextView;
      import android.widget.Toast;
      import androidx.appcompat.app.AppCompatActivity;
      import androidx.core.app.ActivityCompat;
  
      public class MainActivity extends AppCompatActivity {
  
      private static  final int REQUEST_LOCATION=1;
  
      Button getlocationBtn;
      TextView showLocationTxt;
  
      LocationManager locationManager;
      String latitude,longitude;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          //Add permission
  
          ActivityCompat.requestPermissions(this,new String[]
                  {Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION);
  
          showLocationTxt=findViewById(R.id.show_location);
          getlocationBtn=findViewById(R.id.getLocation);
  
          getlocationBtn.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
  
                  locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);
  
                  //Check gps is enable or not
  
                  if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
                  {
                      //Write Function To enable gps
  
                      OnGPS();
                  }
                  else
                  {
                      //GPS is already On then
  
                      getLocation();
                  }
              }
          });
  
      }
  
      private void getLocation() {
  
          //Check Permissions again
  
          if (ActivityCompat.checkSelfPermission(MainActivity.this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &amp;&amp; ActivityCompat.checkSelfPermission(MainActivity.this,
  
                  Manifest.permission.ACCESS_COARSE_LOCATION) !=PackageManager.PERMISSION_GRANTED)
          {
              ActivityCompat.requestPermissions(this,new String[]
                      {Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION);
          }
          else
          {
              Location LocationGps= locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
              Location LocationNetwork=locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
              Location LocationPassive=locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
  
              if (LocationGps !=null)
              {
                  double lat=LocationGps.getLatitude();
                  double longi=LocationGps.getLongitude();
  
                  latitude=String.valueOf(lat);
                  longitude=String.valueOf(longi);
  
                  showLocationTxt.setText("Your Location:"+"\n"+"Latitude= "+latitude+"\n"+"Longitude= "+longitude);
              }
              else if (LocationNetwork !=null)
              {
                  double lat=LocationNetwork.getLatitude();
                  double longi=LocationNetwork.getLongitude();
  
                  latitude=String.valueOf(lat);
                  longitude=String.valueOf(longi);
  
                  showLocationTxt.setText("Your Location:"+"\n"+"Latitude= "+latitude+"\n"+"Longitude= "+longitude);
              }
              else if (LocationPassive !=null)
              {
                  double lat=LocationPassive.getLatitude();
                  double longi=LocationPassive.getLongitude();
  
                  latitude=String.valueOf(lat);
                  longitude=String.valueOf(longi);
  
                  showLocationTxt.setText("Your Location:"+"\n"+"Latitude= "+latitude+"\n"+"Longitude= "+longitude);
              }
              else
              {
                  Toast.makeText(this, "Can't Get Your Location", Toast.LENGTH_SHORT).show();
              }
  
              //Thats All Run Your App
          }
  
      }
  
      private void OnGPS() {
  
          final AlertDialog.Builder builder= new AlertDialog.Builder(this);
  
          builder.setMessage("Enable GPS").setCancelable(false).setPositiveButton("YES", new DialogInterface.OnClickListener() {
              @Override
              public void onClick(DialogInterface dialog, int which) {
                  startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
              }
          }).setNegativeButton("NO", new DialogInterface.OnClickListener() {
              @Override
              public void onClick(DialogInterface dialog, int which) {
  
                  dialog.cancel();
              }
          });
          final AlertDialog alertDialog=builder.create();
          alertDialog.show();
      }
  }
  }
  </code></pre>
  
  <p>MainActivity xml </p>
  
  <pre class="lang-java prettyprint-override"><code>    &lt;?xml version="1.0" encoding="utf-8"?&gt;
      &lt;LinearLayout tools:context=".MainActivity" android:gravity="center" 
      android:orientation="vertical" android:layout_height="match_parent" 
      android:layout_width="match_parent" 
      xmlns:tools="http://schemas.android.com/tools" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      xmlns:android="http://schemas.android.com/apk/res/android"&gt;
  
      &lt;TextView android:layout_height="wrap_content" 
      android:layout_width="match_parent" android:id="@+id/show_location" 
      android:textSize="20sp" android:hint="Location"/&gt;
  
      &lt;Button android:layout_height="wrap_content" 
      android:layout_width="match_parent" android:id="@+id/getLocation" 
      android:text="Get Location"/&gt;
  
      &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Manifests </p>
  
  <pre class="lang-java prettyprint-override"><code>    &lt;?xml version="1.0" encoding="utf-8"?&gt;
      &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.myapplication9"&gt;
  
  
      &lt;uses-permission 
      android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  
      &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
  
      &lt;uses-permission android:name="android.permission.INTERNET"/&gt;
      &lt;application
          android:allowBackup="true"
          android:icon="@mipmap/ic_launcher"
          android:label="@string/app_name"
          android:roundIcon="@mipmap/ic_launcher_round"
          android:supportsRtl="true"
          android:theme="@style/AppTheme"&gt;
          &lt;activity android:name=".MainActivity"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
  
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
      &lt;/application&gt;
  
      &lt;/manifest&gt;
  </code></pre>