App2k
Home
Project
Android Studio
Collage Project
Home
Get Realtime device Location (Country, State, District, Postal Code)
Get Realtime device Location (Country, State, District, Postal Code)
App Developer
October 10, 2024
1. Activity (activity_main.xml)
1. Activity (mainactivity.java)
package com.example.loca; import android.Manifest; import android.content.pm.PackageManager; import android.location.Address; import android.location.Geocoder; import android.location.Location; import android.os.Bundle; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import com.google.android.gms.location.FusedLocationProviderClient; import com.google.android.gms.location.LocationCallback; import com.google.android.gms.location.LocationRequest; import com.google.android.gms.location.LocationResult; import com.google.android.gms.location.LocationServices; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import java.io.IOException; import java.util.List; import java.util.Locale; public class MainActivity extends AppCompatActivity { FusedLocationProviderClient fusedLocationProviderClient; LocationRequest locationRequest; LocationCallback locationCallback; TextView tvCountry, tvState, tvDistrict, tvPostalCode; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialize views tvCountry = findViewById(R.id.tvCountry); tvState = findViewById(R.id.tvState); tvDistrict = findViewById(R.id.tvDistrict); tvPostalCode = findViewById(R.id.tvPostalCode); // Initialize FusedLocationProviderClient fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); // Setup location request locationRequest = LocationRequest.create(); locationRequest.setInterval(5000); // 5 seconds interval locationRequest.setFastestInterval(2000); // 2 seconds fastest interval locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); // Create location callback locationCallback = new LocationCallback() { @Override public void onLocationResult(@NonNull LocationResult locationResult) { if (locationResult == null) { return; } for (Location location : locationResult.getLocations()) { if (location != null) { try { Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault()); List
addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1); // Extract relevant data String country = addresses.get(0).getCountryName(); String state = addresses.get(0).getAdminArea(); String district = addresses.get(0).getSubAdminArea(); String postalCode = addresses.get(0).getPostalCode(); // Display the data tvCountry.setText("Country: " + country); tvState.setText("State: " + state); tvDistrict.setText("District: " + district); tvPostalCode.setText("Postal Code: " + postalCode); } catch (IOException e) { e.printStackTrace(); } } } } }; // Request location updates if permission is granted if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 100); } else { startLocationUpdates(); } } // Start live location updates private void startLocationUpdates() { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. return; } fusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, null); } // Handle permission request result @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == 100 && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { startLocationUpdates(); } } @Override protected void onPause() { super.onPause(); fusedLocationProviderClient.removeLocationUpdates(locationCallback); } @Override protected void onResume() { super.onResume(); if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { startLocationUpdates(); } } }
1. (Manifest.java)
1. (dependencies)
implementation ("com.google.android.gms:play-services-location:21.0.1")
Post a Comment
0 Comments
Social Plugin
Most Popular
Contact Us
March 03, 2025
Connect flutter app to firebase android
April 16, 2025
Create listview.builder in Flutter || Flutter Call list UI
April 11, 2025
Facebook
Tags
android studio firebase
android studio firebase realtime database
Firebase
Flutter
How to Save Data to the Firebase Realtime Database
Java
Project
Categories
Flutter
(13)
Java
(2)
Project
(1)
android studio firebase
(1)
Search This Blog
Powered by Blogger
April 2025
2
March 2025
12
February 2025
7
December 2024
2
October 2024
9
September 2024
2
Report Abuse
Contact form
0 Comments