У меня есть метод, который проверяет, находятся ли пользовательские широта и долгота внутри круга, это работает просто отлично, но иногда бывает, что местоположение пустое, а затем я закрываю свое приложение и позволяю пользователю сообщение, чтобы включить GPS , но, кажется, этого не достаточно, есть ли способ добавить в мою ветку else запрос на обновление или что-то, что гарантирует, что мое местоположение не равно нулю?
fusedLocationClient.lastLocation
.addOnSuccessListener { location : Location? ->
val results = FloatArray(1)
if(location!=null){
Location.distanceBetween(
-41.646961,
-23.3468967,
location.latitude,
location.longitude,
results
)
}else{
Toast.makeText(this,"Please enable your GPS.",Toast.LENGTH_SHORT).show()
finish()
}
val distanceInMeters = results[0]
val isWithin2km = distanceInMeters < 2000
if(isWithin2km){
navigateTo()
}else{
startActivity(Intent(this,ActivityGeoFenceError::class.java))
finish()
}
}