I haven't used location services in a long, long time, so I'm just looking at the documentation for 'LocationRequest.Builder` and guessing at your equivalent code because it looks self-explanatory. Builders are a common pattern, used more often in Java-based APIs like this one than they are used in pure-Kotlin APIs. You can look up "java builder pattern" to read about it.

private fun NewLocation() { 
    val locationRequest = LocationRequest.Builder()
        .setPriority(Priority.PRIORITY_HIGH_ACCURACY)
        .setIntervalMillis(0L)
        .setMinUpdateIntervalMillis(0L)
        .setMaxUpdates(1)
        .build()
    mfusedlocation = LocationServices.getFusedLocationProviderClient(this)
    mfusedlocation.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper())
}

FYI since you're working on a portfolio:

  • Function names in Kotlin start with a verb and lower-case letter by convention. Or if it returns a modified copy of an object, you can use a past participle instead of a phrase starting with a verb. For example, I would rename NewLocation() to something like beginLocationRequest().

  • The mSomething pattern of naming variables (putting abbreviations in front of variable names) is called Hungarian notation. m stands for "member", but Kotlin properties are not even called member variables. I've never seen Hungarian notation used in Kotlin before, and it is rarely used in Java. It is widely regarded as making code less readable, especially with modern IDEs. I would advise against using it in a portfolio project as it is more likely to damage the impression you want to give than it is to help, especially if you are using it inconsistently.

Answer from Tenfour04 on Stack Overflow
Top answer
1 of 1
1

I haven't used location services in a long, long time, so I'm just looking at the documentation for 'LocationRequest.Builder` and guessing at your equivalent code because it looks self-explanatory. Builders are a common pattern, used more often in Java-based APIs like this one than they are used in pure-Kotlin APIs. You can look up "java builder pattern" to read about it.

private fun NewLocation() { 
    val locationRequest = LocationRequest.Builder()
        .setPriority(Priority.PRIORITY_HIGH_ACCURACY)
        .setIntervalMillis(0L)
        .setMinUpdateIntervalMillis(0L)
        .setMaxUpdates(1)
        .build()
    mfusedlocation = LocationServices.getFusedLocationProviderClient(this)
    mfusedlocation.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper())
}

FYI since you're working on a portfolio:

  • Function names in Kotlin start with a verb and lower-case letter by convention. Or if it returns a modified copy of an object, you can use a past participle instead of a phrase starting with a verb. For example, I would rename NewLocation() to something like beginLocationRequest().

  • The mSomething pattern of naming variables (putting abbreviations in front of variable names) is called Hungarian notation. m stands for "member", but Kotlin properties are not even called member variables. I've never seen Hungarian notation used in Kotlin before, and it is rarely used in Java. It is widely regarded as making code less readable, especially with modern IDEs. I would advise against using it in a portfolio project as it is more likely to damage the impression you want to give than it is to help, especially if you are using it inconsistently.

🌐
Codepath
guides.codepath.org › android › Retrieving-Location-with-LocationServices-API
Retrieving Location with LocationServices API | Android Development | CodePath Guides
// The no-arg LocationRequest() constructor and setPriority/setInterval/ // setFastestInterval setters are deprecated as of play-services-location 21.x — // use LocationRequest.Builder instead. mLocationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, UPDATE_INTERVAL) .setMinUpdateIntervalMillis(FASTEST_INTERVAL) .build(); // Create LocationSettingsRequest object using location request LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder(); builder.addLocationRequest(mLocationRequest); LocationSettingsRequest locationSettingsRequest = builder.bu
🌐
Android Developers
developer.android.com › api reference › locationrequest.builder
LocationRequest.Builder | API reference | Android Developers
Skip to main content · English · Deutsch · Español – América Latina · Français · Indonesia · Polski · Português – Brasil · Tiếng Việt · 中文 – 简体
🌐
Google
codelabs.developers.google.com › codelabs › while-in-use-location
Receive location updates in Android with Kotlin | Google Codelabs
March 27, 2026 - // TODO: Step 1.3, Create a LocationRequest. locationRequest = LocationRequest.create().apply { // Sets the desired interval for active location updates. This interval is inexact. You // may not receive updates at all if no location sources are available, or you may // receive them less frequently than requested. You may also receive updates more // frequently than requested if other applications are requesting location at a more // frequent interval. // // IMPORTANT NOTE: Apps running on Android 8.0 and higher devices (regardless of // targetSdkVersion) may receive updates less frequently than this interval when the app // is no longer in the foreground.
🌐
Android Developers
developer.android.com › api reference › locationrequest
LocationRequest | API reference | Android Developers
Skip to main content · English · Deutsch · Español – América Latina · Français · Indonesia · Polski · Português – Brasil · Tiếng Việt · 中文 – 简体
🌐
Google
developers.google.com › google play services › locationrequest.builder
LocationRequest.Builder | Google Play services | Google for Developers
LocationRequest.Builder is used to construct a LocationRequest object · It includes constants for implicit maximum update age and minimum update interval, both set to be the same as the interval
Find elsewhere
🌐
Tabnine
tabnine.com › home › code library
Code Library - Tabnine
July 25, 2024 - Get the answers and suggestions you need from our AI code assistant. Get started in minutes with a free 90 day trial of Tabnine Pro.
🌐
GitHub
github.com › codepath › android_guides › wiki › Retrieving-Location-with-LocationServices-API
Retrieving Location with LocationServices API · codepath/android_guides Wiki · GitHub
April 4, 2020 - private LocationRequest ... startLocationUpdates() { // Create the location request to start receiving updates mLocationRequest = new LocationRequest(); mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); ...
Author   codepath
🌐
Microsoft Learn
learn.microsoft.com › en-us › dotnet › api › android.locations.locationrequest
LocationRequest Class (Android.Locations) | Microsoft Learn
[<Android.Runtime.Register("android/location/LocationRequest", ApiSince=31, DoNotGenerateAcw=true)>] type LocationRequest = class inherit Object interface IParcelable interface IJavaObject interface IDisposable interface IJavaPeerable
🌐
Android Developers
developer.android.com › core areas › sensors and location › change location settings
Change location settings | Sensors and location | Android Developers
fun createLocationRequest() { val locationRequest = LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 10000) .setMinUpdateIntervalMillis(5000) .build() }
🌐
Medium
medium.com › @myofficework000 › real-time-location-tracking-made-easy-with-fused-location-provider-43de6437fbd3
Real-Time Location Tracking Made Easy with Fused Location Provider | by Abhishek Pathak | Medium
October 15, 2024 - @SuppressLint("MissingPermission") private fun startLocationUpdates() { val locationRequest = LocationRequest.create().apply { interval = 10000 // 10 seconds fastestInterval = 5000 priority = LocationRequest.PRIORITY_HIGH_ACCURACY } fusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper()) } private val locationCallback = object : LocationCallback() { override fun onLocationResult(locationResult: LocationResult) { locationResult.lastLocation?.let { location -> // Update UI with the new location binding.locationUpdate.text = "Updated Location: ${location.latitude}, ${location.longitude}" } } }
🌐
Microsoft Learn
learn.microsoft.com › en-us › dotnet › api › android.locations.locationrequest.builder.build
LocationRequest.Builder.Build Method (Android.Locations) | Microsoft Learn
[Android.Runtime.Register("build", "()Landroid/location/LocationRequest;", "", ApiSince=31)] public Android.Locations.LocationRequest Build();
🌐
DEV Community
dev.to › olubunmialegbeleye › location-services-the-android-14-maybe-15-too-way-4171
Location Services- the Android 14 (maybe 15 too) way - DEV Community
July 16, 2024 - private fun checkPhoneLocationSettings( activity: Activity, locationSettingsResult: ActivityResultLauncher<IntentSenderRequest>, callback: (Boolean) -> Unit ) { val builder = LocationSettingsRequest.Builder().addLocationRequest(locationRequest) val client = LocationServices.getSettingsClient(activity) val task = client.checkLocationSettings(builder.build()) task.addOnSuccessListener { callback(true) } task.addOnFailureListener { exception -> if (exception is ResolvableApiException) { try { locationSettingsResult.launch( IntentSenderRequest.Builder(exception.resolution).build() ) } catch (sendEx: IntentSender.SendIntentException) { // Ignore the error.
🌐
Medium
medium.com › @psarakisnick › android-location-manager-with-kotlin-flows-082c992d1b31
Android location manager with Kotlin flows | by Nick Psarakis | Medium
January 21, 2024 - So now we have created the required parts for requesting the location · @SuppressLint("MissingPermission") override fun listenToLocation(): Flow<Location> { val request = LocationRequest.Builder(Priority.PRIORITY_BALANCED_POWER_ACCURACY, TimeUnit.MINUTES.toMillis(10)) .setMinUpdateDistanceMeters(1000F) .build() return callbackFlow { if (!hasLocationPermission()) throw NoPermissionsException val locationCallback = object : LocationCallback() { override fun onLocationResult(result: LocationResult) { super.onLocationResult(result) result.lastLocation?.let { launch { send(it) } } } } }