0

My Application crashes sometimes after location listener I started. with The Error bellow

2022-02-03 13:05:26.458 2383-2383/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.casontek.farmconnect, PID: 2383 java.lang.AbstractMethodError: abstract method "void android.location.LocationListener.onStatusChanged(java.lang.String, int, android.os.Bundle)" at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:299) at android.location.LocationManager$ListenerTransport.-wrap0(Unknown Source:0) at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:237) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6524) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:451) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888) 2022-02-03 14:05:09.685 13052-13052/? E/AndroidRuntime: FATAL EXCEPTION: main

private val locationListener = LocationListener {
        //your code here
        latitude = it.latitude
        longitude = it.longitude

        Log.i("_&loc", "location detail: ${it.latitude}, ${it.longitude}")
    } 


if(ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
            && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED){
        
         if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
              val manager = getSystemService(Context.LOCATION_SERVICE) as LocationManager
                  manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000L, 500F, locationListener)
        }
        }


    <uses-feature android:name="android.hardware.location"
        android:required="true"/>

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  • You have not overriden the `onStatusChanged` method in your custom location listener. – Alias Cartellano Feb 04 '22 at 21:10
  • Does this answer your question? [How do I get the current GPS location programmatically in Android?](https://stackoverflow.com/questions/1513485/how-do-i-get-the-current-gps-location-programmatically-in-android) – Alias Cartellano Feb 04 '22 at 21:10
  • They shouldn't need to, it has a default implementation. – Ryan M Feb 05 '22 at 01:31
  • [According to the docs `onStatusChanged` still needs to be overriden in versions less than R(api<30)](https://developer.android.com/reference/android/location/LocationListener#onStatusChanged(java.lang.String,%20int,%20android.os.Bundle)). – Alias Cartellano Feb 05 '22 at 09:28

0 Answers0