Android Kotlin Geocoder DEADLINE_EXCEEDED на Android при получении координат/адресов местоположения

В моем приложении для Android я пытаюсь получить адрес отlat lngс помощью геокодера с помощьюgetFromLocationметод иGeocodeListenerно иногда приложение вылетает

Журнал сбоев

      Caused by java.io.IOException: egma: DEADLINE_EXCEEDED: Deadline CallOptions will be exceeded in 4.959774531s. 
       at android.location.Geocoder$GeocodeListener.getResults(Geocoder.java:246)
       at android.location.Geocoder.getFromLocation(Geocoder.java:134)

Код

      geocoder.getFromLocation(
  latLng.latitude,
  latLng.longitude,
  1,
  object : Geocoder.GeocodeListener {
            override fun onGeocode(addresses: MutableList<Address>) {
              val addressLine = addresses.first().getAddressLine(0)
                   onAddressResult(addressLine, null) // callback
             }

             override fun onError(errorMessage: String?) {
               super.onError(errorMessage)
                  onAddressResult(null, errorMessage)
             }
  },
)

В чем причина аварии. как я могу этого избежать?

1 ответ

Вы пытались использовать блок try/catch, это может помочь поймать и обойти исключение

Другие вопросы по тегам