How to automatically update show current latitude and longitude in android dynamically android studio code tutorial.
Finding out your current GPS location is very important for all the apps which included any kind of GPS connectivity functionality like distance tracker applications or location tracker apps because with this you can easily get your present android mobile phone device location and send this location to any of you friends or family member so they can know where you are right now. So in this tutorial we are going to get two key coordinates latitude & longitude . So here is the complete step by step tutorial for Get Current GPS Coordinates Location Android Programmatically.
How to Get Current GPS Coordinates Location Android Programmatically.
Please add INTERNET and ACCESS_FINE_LOCATION in your AndroidManifest.xml file.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" />
Code for MainActivity.java file.
package com.android_examples.getgpsdata_android_examplescom; import android.Manifest; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.provider.Settings; import android.support.v4.app.ActivityCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements LocationListener { public static final int RequestPermissionCode = 1 ; Button buttonEnable, buttonGet ; TextView textViewLongitude, textViewLatitude ; Context context; Intent intent1 ; Location location; LocationManager locationManager ; boolean GpsStatus = false ; Criteria criteria ; String Holder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EnableRuntimePermission(); buttonEnable = (Button)findViewById(R.id.button); buttonGet = (Button)findViewById(R.id.button2); textViewLongitude = (TextView)findViewById(R.id.textView); textViewLatitude = (TextView)findViewById(R.id.textView2); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); criteria = new Criteria(); Holder = locationManager.getBestProvider(criteria, false); context = getApplicationContext(); CheckGpsStatus(); buttonEnable.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { intent1 = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(intent1); } }); buttonGet.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { CheckGpsStatus(); if(GpsStatus == true) { if (Holder != null) { if (ActivityCompat.checkSelfPermission( MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { return; } location = locationManager.getLastKnownLocation(Holder); locationManager.requestLocationUpdates(Holder, 12000, 7, MainActivity.this); } }else { Toast.makeText(MainActivity.this, "Please Enable GPS First", Toast.LENGTH_LONG).show(); } } }); } @Override public void onLocationChanged(Location location) { textViewLongitude.setText("Longitude:" + location.getLongitude()); textViewLatitude.setText("Latitude:" + location.getLatitude()); } @Override public void onStatusChanged(String s, int i, Bundle bundle) { } @Override public void onProviderEnabled(String s) { } @Override public void onProviderDisabled(String s) { } public void CheckGpsStatus(){ locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); GpsStatus = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); } public void EnableRuntimePermission(){ if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)) { Toast.makeText(MainActivity.this,"ACCESS_FINE_LOCATION permission allows us to Access GPS in app", Toast.LENGTH_LONG).show(); } else { ActivityCompat.requestPermissions(MainActivity.this,new String[]{ Manifest.permission.ACCESS_FINE_LOCATION}, RequestPermissionCode); } } @Override public void onRequestPermissionsResult(int RC, String per[], int[] PResult) { switch (RC) { case RequestPermissionCode: if (PResult.length > 0 && PResult[0] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(MainActivity.this,"Permission Granted, Now your application can access GPS.", Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this,"Permission Canceled, Now your application cannot access GPS.", Toast.LENGTH_LONG).show(); } break; } } }
Code for activity_main.xml layout file.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.android_examples.getgpsdata_android_examplescom.MainActivity" android:background="#FFF3E0"> <TextView android:text="Latitude Show Here" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="29dp" android:id="@+id/textView2" android:textColor="#000000" android:textSize="25dp" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" /> <Button android:text="Enable GPS in device" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/textView2" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" android:id="@+id/button" /> <Button android:text="Access GPS location in coordinates " android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="23dp" android:id="@+id/button2" /> <TextView android:text="Longitude Show Here" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView" android:textColor="#000000" android:textSize="25dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="96dp" /> </RelativeLayout>
Code for AndroidManifest.xml file.